From 650003eb4e88fbc4e1404fdbcbfab4f8aa925ed3 Mon Sep 17 00:00:00 2001 From: Pieter Degroote Date: Fri, 27 Mar 2020 23:24:32 +0100 Subject: [PATCH] Add files via upload Some small changes have been made within the 'ring/dot above' section. --- UltimateKEYS - 2020-03-28.ahk | 1213 +++++++++++++++++++++++++++++++++ UltimateKEYS - 2020-03-28.klc | Bin 0 -> 72332 bytes 2 files changed, 1213 insertions(+) create mode 100644 UltimateKEYS - 2020-03-28.ahk create mode 100644 UltimateKEYS - 2020-03-28.klc diff --git a/UltimateKEYS - 2020-03-28.ahk b/UltimateKEYS - 2020-03-28.ahk new file mode 100644 index 0000000..6a3117a --- /dev/null +++ b/UltimateKEYS - 2020-03-28.ahk @@ -0,0 +1,1213 @@ +; UltimateKEYS - 2020-03-28.ahk + +; Created by : Pieter Degroote + +; License : GNU General Public License Version 3 + +; Website : https://github.com/pieter-degroote/UltimateKEYS + + +; Requirements : + +; Keyboard layout (on Windows OS) : US QWERTY + +; AutoHotkey v1.1 (https://www.autohotkey.com/) + + + +; Dead Key : Circumflex Accent + +dkCircumflex := ComObjCreate("Scripting.Dictionary") +dkCircumflex.item("a") := "â" ; a with circumflex +dkCircumflex.item("A") := "Â" ; A with circumflex +dkCircumflex.item("c") := "ĉ" ; c with circumflex +dkCircumflex.item("C") := "Ĉ" ; C with circumflex +dkCircumflex.item("e") := "ê" ; e with circumflex +dkCircumflex.item("E") := "Ê" ; E with circumflex +dkCircumflex.item("g") := "ĝ" ; g with circumflex +dkCircumflex.item("G") := "Ĝ" ; G with circumflex +dkCircumflex.item("h") := "ĥ" ; h with circumflex +dkCircumflex.item("H") := "Ĥ" ; H with circumflex +dkCircumflex.item("i") := "î" ; i with circumflex +dkCircumflex.item("I") := "Î" ; I with circumflex +dkCircumflex.item("j") := "ĵ" ; j with circumflex +dkCircumflex.item("J") := "Ĵ" ; J with circumflex +dkCircumflex.item("o") := "ô" ; o with circumflex +dkCircumflex.item("O") := "Ô" ; O with circumflex +dkCircumflex.item("s") := "ŝ" ; s with circumflex +dkCircumflex.item("S") := "Ŝ" ; S with circumflex +dkCircumflex.item("u") := "û" ; u with circumflex +dkCircumflex.item("U") := "Û" ; U with circumflex +dkCircumflex.item("w") := "ŵ" ; w with circumflex +dkCircumflex.item("W") := "Ŵ" ; W with circumflex +dkCircumflex.item("y") := "ŷ" ; y with circumflex +dkCircumflex.item("Y") := "Ŷ" ; Y with circumflex +dkCircumflex.item("z") := "ẑ" ; z with circumflex +dkCircumflex.item("Z") := "Ẑ" ; Z with circumflex +dkCircumflex.item("n") := "₦" ; Nigerian naira +dkCircumflex.item("N") := "₦" ; Nigerian naira +dkCircumflex.item("^") := "{^}" ; circumflex accent +dkCircumflex.item(" ") := "{^}" ; circumflex accent + + +; Dead Key : Caron + +dkCaron := ComObjCreate("Scripting.Dictionary") +dkCaron.item("a") := "ǎ" ; a with caron +dkCaron.item("A") := "Ǎ" ; A with caron +dkCaron.item("c") := "č" ; c with caron +dkCaron.item("C") := "Č" ; C with caron +dkCaron.item("d") := "ď" ; d with caron +dkCaron.item("D") := "Ď" ; D with caron +dkCaron.item("e") := "ě" ; e with caron +dkCaron.item("E") := "Ě" ; E with caron +dkCaron.item("g") := "ǧ" ; g with caron +dkCaron.item("G") := "Ǧ" ; G with caron +dkCaron.item("h") := "ȟ" ; h with caron +dkCaron.item("H") := "Ȟ" ; H with caron +dkCaron.item("i") := "ǐ" ; i with caron +dkCaron.item("I") := "Ǐ" ; I with caron +dkCaron.item("j") := "ǰ" ; j with caron +dkCaron.item("k") := "ǩ" ; k with caron +dkCaron.item("K") := "Ǩ" ; K with caron +dkCaron.item("l") := "ľ" ; l with caron +dkCaron.item("L") := "Ľ" ; L with caron +dkCaron.item("n") := "ň" ; n with caron +dkCaron.item("N") := "Ň" ; N with caron +dkCaron.item("o") := "ǒ" ; o with caron +dkCaron.item("O") := "Ǒ" ; O with caron +dkCaron.item("r") := "ř" ; r with caron +dkCaron.item("R") := "Ř" ; R with caron +dkCaron.item("s") := "š" ; s with caron +dkCaron.item("S") := "Š" ; S with caron +dkCaron.item("t") := "ť" ; t with caron +dkCaron.item("T") := "Ť" ; T with caron +dkCaron.item("u") := "ǔ" ; u with caron +dkCaron.item("U") := "Ǔ" ; U with caron +dkCaron.item("ü") := "ǚ" ; u with diaeresis and caron +dkCaron.item("Ü") := "Ǚ" ; U with diaeresis and caron +dkCaron.item("z") := "ž" ; z with caron +dkCaron.item("Z") := "Ž" ; Z with caron +dkCaron.item("3") := "ǯ" ; small letter ezh with caron +dkCaron.item("#") := "Ǯ" ; capital letter ezh with caron +dkCaron.item(" ") := "ˇ" ; caron + + +; Dead Key : Ring/Dot Above + +dkRingDotAbove := ComObjCreate("Scripting.Dictionary") +dkRingDotAbove.item("a") := "ȧ" ; a with dot above +dkRingDotAbove.item("A") := "Ȧ" ; A with dot above +dkRingDotAbove.item("ä") := "å" ; a with ring above +dkRingDotAbove.item("Ä") := "Å" ; A with ring above +dkRingDotAbove.item("b") := "ḃ" ; b with dot above +dkRingDotAbove.item("B") := "Ḃ" ; B with dot above +dkRingDotAbove.item("c") := "ċ" ; c with dot above +dkRingDotAbove.item("C") := "Ċ" ; C with dot above +dkRingDotAbove.item("d") := "ḋ" ; d with dot above +dkRingDotAbove.item("D") := "Ḋ" ; D with dot above +dkRingDotAbove.item("e") := "ė" ; e with dot above +dkRingDotAbove.item("E") := "Ė" ; E with dot above +dkRingDotAbove.item("f") := "ḟ" ; f with dot above +dkRingDotAbove.item("F") := "Ḟ" ; F with dot above +dkRingDotAbove.item("g") := "ġ" ; g with dot above +dkRingDotAbove.item("G") := "Ġ" ; G with dot above +dkRingDotAbove.item("h") := "ḣ" ; h with dot above +dkRingDotAbove.item("H") := "Ḣ" ; H with dot above +dkRingDotAbove.item("i") := "ı" ; dotless i (Turkish, Azerbaijani) +dkRingDotAbove.item("I") := "İ" ; I with dot above (Turkish, Azerbaijani) +dkRingDotAbove.item("j") := "ȷ" ; dotless j +dkRingDotAbove.item("l") := "ŀ" ; l with middle dot +dkRingDotAbove.item("L") := "Ŀ" ; L with middle dot +dkRingDotAbove.item("m") := "ṁ" ; m with dot above +dkRingDotAbove.item("M") := "Ṁ" ; M with dot above +dkRingDotAbove.item("n") := "ṅ" ; n with dot above +dkRingDotAbove.item("N") := "Ṅ" ; N with dot above +dkRingDotAbove.item("o") := "ȯ" ; o with dot above +dkRingDotAbove.item("O") := "Ȯ" ; O with dot above +dkRingDotAbove.item("p") := "ṗ" ; p with dot above +dkRingDotAbove.item("P") := "Ṗ" ; P with dot above +dkRingDotAbove.item("r") := "ṙ" ; r with dot above +dkRingDotAbove.item("R") := "Ṙ" ; R with dot above +dkRingDotAbove.item("s") := "ṡ" ; s with dot above +dkRingDotAbove.item("S") := "Ṡ" ; S with dot above +dkRingDotAbove.item("t") := "ṫ" ; t with dot above +dkRingDotAbove.item("T") := "Ṫ" ; T with dot above +dkRingDotAbove.item("u") := "ů" ; u with ring above +dkRingDotAbove.item("U") := "Ů" ; U with ring above +dkRingDotAbove.item("w") := "ẇ" ; w with dot above +dkRingDotAbove.item("W") := "Ẇ" ; W with dot above +dkRingDotAbove.item("å") := "ẘ" ; w with ring above +dkRingDotAbove.item("x") := "ẋ" ; x with dot above +dkRingDotAbove.item("X") := "Ẋ" ; X with dot above +dkRingDotAbove.item("y") := "ẏ" ; y with dot above +dkRingDotAbove.item("Y") := "Ẏ" ; Y with dot above +dkRingDotAbove.item("ÿ") := "ẙ" ; y with ring above +dkRingDotAbove.item("z") := "ż" ; z with dot above +dkRingDotAbove.item("Z") := "Ż" ; Z with dot above +dkRingDotAbove.item(" ") := "˙" ; dot above + + +; Dead Key : Macron/Stroke + +dkMacronStroke := ComObjCreate("Scripting.Dictionary") +dkMacronStroke.item("a") := "ā" ; a with macron +dkMacronStroke.item("A") := "Ā" ; A with macron +dkMacronStroke.item("æ") := "ǣ" ; ae with macron +dkMacronStroke.item("Æ") := "Ǣ" ; AE with macron +dkMacronStroke.item("b") := "ƀ" ; b with stroke +dkMacronStroke.item("B") := "Ƀ" ; B with stroke +dkMacronStroke.item("d") := "đ" ; d with stroke +dkMacronStroke.item("D") := "Đ" ; D with stroke +dkMacronStroke.item("e") := "ē" ; e with macron +dkMacronStroke.item("E") := "Ē" ; E with macron +dkMacronStroke.item("g") := "ǥ" ; g with stroke (Skolt Sami) +dkMacronStroke.item("G") := "Ǥ" ; G with stroke (Skolt Sami) +dkMacronStroke.item("é") := "ḡ" ; g with macron +dkMacronStroke.item("É") := "Ḡ" ; G with macron +dkMacronStroke.item("h") := "ħ" ; h with stroke (Maltese) +dkMacronStroke.item("H") := "Ħ" ; H with stroke (Maltese) +dkMacronStroke.item("i") := "ī" ; i with macron +dkMacronStroke.item("I") := "Ī" ; I with macron +dkMacronStroke.item("ï") := "ɨ" ; i with stroke +dkMacronStroke.item("Ï") := "Ɨ" ; I with stroke +dkMacronStroke.item("j") := "ɉ" ; j with stroke +dkMacronStroke.item("J") := "Ɉ" ; J with stroke +dkMacronStroke.item("l") := "ł" ; l with stroke +dkMacronStroke.item("L") := "Ł" ; L with stroke +dkMacronStroke.item("ø") := "ḻ" ; l with line below +dkMacronStroke.item("Ø") := "Ḻ" ; L with line below +dkMacronStroke.item("o") := "ō" ; o with macron +dkMacronStroke.item("O") := "Ō" ; O with macron +dkMacronStroke.item("ö") := "ǭ" ; o with ogonek and macron +dkMacronStroke.item("Ö") := "Ǭ" ; O with ogonek and macron +dkMacronStroke.item("p") := "ᵽ" ; p with stroke +dkMacronStroke.item("P") := "Ᵽ" ; P with stroke +dkMacronStroke.item("r") := "ɍ" ; r with stroke +dkMacronStroke.item("R") := "Ɍ" ; R with stroke +dkMacronStroke.item("t") := "ŧ" ; t with stroke +dkMacronStroke.item("T") := "Ŧ" ; T with stroke +dkMacronStroke.item("u") := "ū" ; u with macron +dkMacronStroke.item("U") := "Ū" ; U with macron +dkMacronStroke.item("ü") := "ʉ" ; u with bar +dkMacronStroke.item("Ü") := "Ʉ" ; U with bar +dkMacronStroke.item("y") := "ȳ" ; y with macron +dkMacronStroke.item("Y") := "Ȳ" ; Y with macron +dkMacronStroke.item("ÿ") := "ɏ" ; y with stroke +dkMacronStroke.item("Ÿ") := "Ɏ" ; Y with stroke +dkMacronStroke.item("z") := "ƶ" ; z with stroke +dkMacronStroke.item("Z") := "Ƶ" ; Z with stroke +dkMacronStroke.item(" ") := "¯" ; macron + + +; Dead Key : Cedilla/Ogonek + +dkCedillaOgonek := ComObjCreate("Scripting.Dictionary") +dkCedillaOgonek.item("a") := "ą" ; a with ogonek +dkCedillaOgonek.item("A") := "Ą" ; A with ogonek +dkCedillaOgonek.item("c") := "ç" ; c with cedilla +dkCedillaOgonek.item("C") := "Ç" ; C with cedilla +dkCedillaOgonek.item("d") := "ḑ" ; d with cedilla +dkCedillaOgonek.item("D") := "Ḑ" ; D with cedilla +dkCedillaOgonek.item("e") := "ę" ; e with ogonek +dkCedillaOgonek.item("E") := "Ę" ; E with ogonek +dkCedillaOgonek.item("ë") := "ȩ" ; e with cedilla +dkCedillaOgonek.item("Ë") := "Ȩ" ; E with cedilla +dkCedillaOgonek.item("g") := "ģ" ; g with cedilla +dkCedillaOgonek.item("G") := "Ģ" ; G with cedilla +dkCedillaOgonek.item("h") := "ḩ" ; h with cedilla +dkCedillaOgonek.item("H") := "Ḩ" ; H with cedilla +dkCedillaOgonek.item("i") := "į" ; i with ogonek +dkCedillaOgonek.item("I") := "Į" ; I with ogonek +dkCedillaOgonek.item("k") := "ķ" ; k with cedilla +dkCedillaOgonek.item("K") := "Ķ" ; K with cedilla +dkCedillaOgonek.item("l") := "ļ" ; l with cedilla +dkCedillaOgonek.item("L") := "Ļ" ; L with cedilla +dkCedillaOgonek.item("n") := "ņ" ; n with cedilla +dkCedillaOgonek.item("N") := "Ņ" ; N with cedilla +dkCedillaOgonek.item("o") := "ǫ" ; o with ogonek +dkCedillaOgonek.item("O") := "Ǫ" ; O with ogonek +dkCedillaOgonek.item("ö") := "ǭ" ; o with ogonek and macron +dkCedillaOgonek.item("Ö") := "Ǭ" ; O with ogonek and macron +dkCedillaOgonek.item("r") := "ŗ" ; r with cedilla +dkCedillaOgonek.item("R") := "Ŗ" ; R with cedilla +dkCedillaOgonek.item("s") := "ş" ; s with cedilla +dkCedillaOgonek.item("S") := "Ş" ; S with cedilla +dkCedillaOgonek.item("t") := "ţ" ; t with cedilla +dkCedillaOgonek.item("T") := "Ţ" ; T with cedilla +dkCedillaOgonek.item("u") := "ų" ; u with ogonek +dkCedillaOgonek.item("U") := "Ų" ; U with ogonek +dkCedillaOgonek.item("w") := "₩" ; South Korean won +dkCedillaOgonek.item("W") := "₩" ; South Korean won +dkCedillaOgonek.item("1") := "–" ; en dash +dkCedillaOgonek.item("2") := "—" ; em dash +dkCedillaOgonek.item("3") := "―" ; horizontal bar +dkCedillaOgonek.item("4") := "‐" ; hyphen +dkCedillaOgonek.item("9") := "‒" ; figure dash +dkCedillaOgonek.item("0") := "­" ; soft hyphen +dkCedillaOgonek.item("-") := "‑" ; non-breaking hyphen +dkCedillaOgonek.item(".") := "˛" ; ogonek +dkCedillaOgonek.item(" ") := "¸" ; cedilla + + +; Dead Key : Breve/Special + +dkBreveSpecial := ComObjCreate("Scripting.Dictionary") +dkBreveSpecial.item("a") := "ă" ; a with breve +dkBreveSpecial.item("A") := "Ă" ; A with breve +dkBreveSpecial.item("d") := "ɖ" ; small letter d with tail +dkBreveSpecial.item("D") := "Ɖ" ; capital letter African D +dkBreveSpecial.item("e") := "ĕ" ; e with breve +dkBreveSpecial.item("E") := "Ĕ" ; E with breve +dkBreveSpecial.item("ë") := "ǝ" ; small turned e +dkBreveSpecial.item("Ë") := "Ǝ" ; capital reversed E +dkBreveSpecial.item("f") := "ə" ; small letter schwa (Azerbaijani) +dkBreveSpecial.item("F") := "Ə" ; capital letter schwa (Azerbaijani) +dkBreveSpecial.item("g") := "ğ" ; g with breve +dkBreveSpecial.item("G") := "Ğ" ; G with breve +dkBreveSpecial.item("h") := "ɣ" ; latin small gamma +dkBreveSpecial.item("H") := "Ɣ" ; latin capital gamma +dkBreveSpecial.item("i") := "ĭ" ; i with breve +dkBreveSpecial.item("I") := "Ĭ" ; I with breve +dkBreveSpecial.item("j") := "ij" ; ligature ij +dkBreveSpecial.item("J") := "IJ" ; ligature IJ +dkBreveSpecial.item("k") := "ĸ" ; small letter kra +dkBreveSpecial.item("n") := "ŋ" ; small letter eng(ma) +dkBreveSpecial.item("N") := "Ŋ" ; capital letter eng(ma) +dkBreveSpecial.item("o") := "ŏ" ; o with breve +dkBreveSpecial.item("O") := "Ŏ" ; O with breve +dkBreveSpecial.item("ö") := "ɔ" ; small open o +dkBreveSpecial.item("Ö") := "Ɔ" ; capital open O +dkBreveSpecial.item("s") := "ș" ; s with comma below (Romanian) +dkBreveSpecial.item("S") := "Ș" ; S with comma below (Romanian) +dkBreveSpecial.item("t") := "ț" ; t with comma below (Romanian) +dkBreveSpecial.item("T") := "Ț" ; T with comma below (Romanian) +dkBreveSpecial.item("u") := "ŭ" ; u with breve +dkBreveSpecial.item("U") := "Ŭ" ; U with breve +dkBreveSpecial.item("ü") := "ʊ" ; latin small letter upsilon +dkBreveSpecial.item("Ü") := "Ʊ" ; latin capital letter upsilon +dkBreveSpecial.item("w") := "ƿ" ; small letter wynn +dkBreveSpecial.item("W") := "Ƿ" ; capital letter wynn +dkBreveSpecial.item("y") := "ȝ" ; small letter yogh +dkBreveSpecial.item("Y") := "Ȝ" ; capital letter yogh +dkBreveSpecial.item("3") := "ʒ" ; small letter ezh +dkBreveSpecial.item("#") := "Ʒ" ; capital letter ezh +dkBreveSpecial.item(" ") := "˘" ; breve + + +; Dead Key : Acute Accent + +dkAcuteAccent := ComObjCreate("Scripting.Dictionary") +dkAcuteAccent.item("a") := "á" ; a with acute +dkAcuteAccent.item("A") := "Á" ; A with acute +dkAcuteAccent.item("b") := "ɓ" ; b with hook +dkAcuteAccent.item("B") := "Ɓ" ; B with hook +dkAcuteAccent.item("c") := "ć" ; c with acute +dkAcuteAccent.item("C") := "Ć" ; C with acute +dkAcuteAccent.item("ç") := "ḉ" ; c with cedilla and acute +dkAcuteAccent.item("Ç") := "Ḉ" ; C with cedilla and acute +dkAcuteAccent.item("d") := "ɗ" ; d with hook +dkAcuteAccent.item("D") := "Ɗ" ; D with hook +dkAcuteAccent.item("e") := "é" ; e with acute +dkAcuteAccent.item("E") := "É" ; E with acute +dkAcuteAccent.item("f") := "ƒ" ; f with hook +dkAcuteAccent.item("F") := "Ƒ" ; F with hook +dkAcuteAccent.item("g") := "ǵ" ; g with acute +dkAcuteAccent.item("G") := "Ǵ" ; G with acute +dkAcuteAccent.item("h") := "ɦ" ; h with hook +dkAcuteAccent.item("H") := "Ɦ" ; H with hook +dkAcuteAccent.item("i") := "í" ; i with acute +dkAcuteAccent.item("I") := "Í" ; I with acute +dkAcuteAccent.item("j") := "ij" ; ligature ij +dkAcuteAccent.item("J") := "IJ" ; ligature IJ +dkAcuteAccent.item("k") := "ƙ" ; k with hook +dkAcuteAccent.item("K") := "Ƙ" ; K with hook +dkAcuteAccent.item("l") := "ĺ" ; l with acute +dkAcuteAccent.item("L") := "Ĺ" ; L with acute +dkAcuteAccent.item("m") := "ḿ" ; m with acute +dkAcuteAccent.item("M") := "Ḿ" ; M with acute +dkAcuteAccent.item("n") := "ń" ; n with acute +dkAcuteAccent.item("N") := "Ń" ; N with acute +dkAcuteAccent.item("o") := "ó" ; o with acute +dkAcuteAccent.item("O") := "Ó" ; O with acute +dkAcuteAccent.item("ö") := "ő" ; o with double acute +dkAcuteAccent.item("Ö") := "Ő" ; O with double acute +dkAcuteAccent.item("p") := "ƥ" ; p with hook +dkAcuteAccent.item("P") := "Ƥ" ; P with hook +dkAcuteAccent.item("q") := "ɋ" ; q with hook tail +dkAcuteAccent.item("Q") := "Ɋ" ; Q with hook tail +dkAcuteAccent.item("r") := "ŕ" ; r with acute +dkAcuteAccent.item("R") := "Ŕ" ; R with acute +dkAcuteAccent.item("s") := "ś" ; s with acute +dkAcuteAccent.item("S") := "Ś" ; S with acute +dkAcuteAccent.item("t") := "ƭ" ; t with hook +dkAcuteAccent.item("T") := "Ƭ" ; T with hook +dkAcuteAccent.item("u") := "ú" ; u with acute +dkAcuteAccent.item("U") := "Ú" ; U with acute +dkAcuteAccent.item("ü") := "ű" ; u with double acute +dkAcuteAccent.item("Ü") := "Ű" ; U with double acute +dkAcuteAccent.item("v") := "ʋ" ; v with hook +dkAcuteAccent.item("V") := "Ʋ" ; V with hook +dkAcuteAccent.item("w") := "ẃ" ; w with acute +dkAcuteAccent.item("W") := "Ẃ" ; W with acute +dkAcuteAccent.item("y") := "ý" ; y with acute +dkAcuteAccent.item("Y") := "Ý" ; Y with acute +dkAcuteAccent.item("z") := "ź" ; z with acute +dkAcuteAccent.item("Z") := "Ź" ; Z with acute +dkAcuteAccent.item("å") := "ǻ" ; a with ring above and acute +dkAcuteAccent.item("Å") := "Ǻ" ; A with ring above and acute +dkAcuteAccent.item("æ") := "ǽ" ; ae with acute +dkAcuteAccent.item("Æ") := "Ǽ" ; AE with acute +dkAcuteAccent.item("ø") := "ǿ" ; o with stroke and acute +dkAcuteAccent.item("Ø") := "Ǿ" ; O with stroke and acute +dkAcuteAccent.item("2") := "♫" ; beamed eighth notes +dkAcuteAccent.item("8") := "♪" ; eighth note +dkAcuteAccent.item("'") := "´" ; acute accent +dkAcuteAccent.item(" ") := "´" ; acute accent + + +; Dead Key : Diaeresis + +dkDiaeresis := ComObjCreate("Scripting.Dictionary") +dkDiaeresis.item("a") := "ä" ; a with diaeresis +dkDiaeresis.item("A") := "Ä" ; A with diaeresis +dkDiaeresis.item("e") := "ë" ; e with diaeresis +dkDiaeresis.item("E") := "Ë" ; E with diaeresis +dkDiaeresis.item("h") := "ḧ" ; h with diaeresis +dkDiaeresis.item("H") := "Ḧ" ; H with diaeresis +dkDiaeresis.item("i") := "ï" ; i with diaeresis +dkDiaeresis.item("I") := "Ï" ; I with diaeresis +dkDiaeresis.item("o") := "ö" ; o with diaeresis +dkDiaeresis.item("O") := "Ö" ; O with diaeresis +dkDiaeresis.item("s") := "ß" ; small sharp s (Eszett) +dkDiaeresis.item("S") := "ẞ" ; capital sharp S (capital Eszett) +dkDiaeresis.item("t") := "ẗ" ; t with diaeresis +dkDiaeresis.item("u") := "ü" ; u with diaeresis +dkDiaeresis.item("U") := "Ü" ; U with diaeresis +dkDiaeresis.item("w") := "ẅ" ; w with diaeresis +dkDiaeresis.item("W") := "Ẅ" ; W with diaeresis +dkDiaeresis.item("x") := "ẍ" ; x with diaeresis +dkDiaeresis.item("X") := "Ẍ" ; X with diaeresis +dkDiaeresis.item("y") := "ÿ" ; y with diaeresis +dkDiaeresis.item("Y") := "Ÿ" ; Y with diaeresis +dkDiaeresis.item("""") := "¨" ; diaeresis +dkDiaeresis.item(" ") := "¨" ; diaeresis + + +; Dead Key : Grave Accent + +dkGraveAccent := ComObjCreate("Scripting.Dictionary") +dkGraveAccent.item("a") := "à" ; a with grave +dkGraveAccent.item("A") := "À" ; A with grave +dkGraveAccent.item("e") := "è" ; e with grave +dkGraveAccent.item("E") := "È" ; E with grave +dkGraveAccent.item("i") := "ì" ; i with grave +dkGraveAccent.item("I") := "Ì" ; I with grave +dkGraveAccent.item("n") := "ǹ" ; n with grave +dkGraveAccent.item("N") := "Ǹ" ; N with grave +dkGraveAccent.item("o") := "ò" ; o with grave +dkGraveAccent.item("O") := "Ò" ; O with grave +dkGraveAccent.item("u") := "ù" ; u with grave +dkGraveAccent.item("U") := "Ù" ; U with grave +dkGraveAccent.item("w") := "ẁ" ; w with grave +dkGraveAccent.item("W") := "Ẁ" ; W with grave +dkGraveAccent.item("y") := "ỳ" ; y with grave +dkGraveAccent.item("Y") := "Ỳ" ; Y with grave +dkGraveAccent.item("ä") := "₳" ; Argentine austral +dkGraveAccent.item("Ä") := "₳" ; Argentine austral +dkGraveAccent.item("b") := "₿" ; bitcoin +dkGraveAccent.item("B") := "₿" ; bitcoin +dkGraveAccent.item("c") := "₡" ; Costa Rican colón +dkGraveAccent.item("C") := "₵" ; Ghanaian cedi +dkGraveAccent.item("ç") := "₢" ; Brazilian cruzeiro +dkGraveAccent.item("Ç") := "₢" ; Brazilian cruzeiro +dkGraveAccent.item("d") := "₫" ; Vietnamese dong +dkGraveAccent.item("D") := "₯" ; Greek drachma +dkGraveAccent.item("f") := "₣" ; French franc +dkGraveAccent.item("F") := "₣" ; French franc +dkGraveAccent.item("g") := "₲" ; Paraguayan guaraní +dkGraveAccent.item("G") := "₲" ; Paraguayan guaraní +dkGraveAccent.item("h") := "₴" ; Ukrainian hryvnia +dkGraveAccent.item("H") := "₴" ; Ukrainian hryvnia +dkGraveAccent.item("k") := "₭" ; Laotian kip +dkGraveAccent.item("K") := "₭" ; Laotian kip +dkGraveAccent.item("l") := "₺" ; Turkish lira +dkGraveAccent.item("L") := "₾" ; Georgian lari +dkGraveAccent.item("ø") := "₤" ; lira +dkGraveAccent.item("Ø") := "₤" ; lira +dkGraveAccent.item("m") := "₼" ; Azerbaijani manat +dkGraveAccent.item("M") := "₥" ; mill sign +dkGraveAccent.item("ñ") := "₦" ; Nigerian naira +dkGraveAccent.item("Ñ") := "₦" ; Nigerian naira +dkGraveAccent.item("p") := "₱" ; Philippine peso +dkGraveAccent.item("P") := "₱" ; Philippine peso +dkGraveAccent.item("r") := "₹" ; Indian rupee +dkGraveAccent.item("R") := "₽" ; Russian ruble +dkGraveAccent.item("s") := "₪" ; Israeli new shekel +dkGraveAccent.item("S") := "₪" ; Israeli new shekel +dkGraveAccent.item("t") := "₮" ; Mongolian tögrög (tugrik) +dkGraveAccent.item("T") := "₸" ; Kazakh tenge +dkGraveAccent.item("å") := "₩" ; South Korean won +dkGraveAccent.item("Å") := "₩" ; South Korean won +dkGraveAccent.item("1") := " " ; en space +dkGraveAccent.item("2") := " " ; em space +dkGraveAccent.item("3") := " " ; three-per-em space +dkGraveAccent.item("4") := " " ; four-per-em space +dkGraveAccent.item("5") := " " ; punctuation space +dkGraveAccent.item("6") := " " ; six-per-em space +dkGraveAccent.item("7") := " " ; thin space +dkGraveAccent.item("8") := " " ; hair space +dkGraveAccent.item("9") := " " ; figure space +dkGraveAccent.item("0") := "​" ; zero-width space +dkGraveAccent.item("-") := " " ; non-breaking space +dkGraveAccent.item("!") := " " ; en quad +dkGraveAccent.item("@") := " " ; em quad +dkGraveAccent.item("``") := "``" ; grave accent +dkGraveAccent.item(" ") := "``" ; grave accent + + +; Dead Key : Tilde + +dkTilde := ComObjCreate("Scripting.Dictionary") +dkTilde.item("a") := "ã" ; a with tilde +dkTilde.item("A") := "Ã" ; A with tilde +dkTilde.item("e") := "ẽ" ; e with tilde +dkTilde.item("E") := "Ẽ" ; E with tilde +dkTilde.item("i") := "ĩ" ; i with tilde +dkTilde.item("I") := "Ĩ" ; I with tilde +dkTilde.item("n") := "ñ" ; n with tilde +dkTilde.item("N") := "Ñ" ; N with tilde +dkTilde.item("o") := "õ" ; o with tilde +dkTilde.item("O") := "Õ" ; O with tilde +dkTilde.item("u") := "ũ" ; u with tilde +dkTilde.item("U") := "Ũ" ; U with tilde +dkTilde.item("v") := "ṽ" ; v with tilde +dkTilde.item("V") := "Ṽ" ; V with tilde +dkTilde.item("y") := "ỹ" ; y with tilde +dkTilde.item("Y") := "Ỹ" ; Y with tilde +dkTilde.item("~") := "~" ; tilde +dkTilde.item(" ") := "~" ; tilde + + +; Dead Key : Not Sign + +dkNotSign := ComObjCreate("Scripting.Dictionary") +dkNotSign.item("a") := "ª" ; feminine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("A") := "ª" ; feminine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("b") := "☐" ; ballot box +dkNotSign.item("B") := "☒" ; ballot box with x +dkNotSign.item("c") := "©" ; copyright sign +dkNotSign.item("C") := "¤" ; currency sign +dkNotSign.item("d") := "†" ; dagger +dkNotSign.item("D") := "‡" ; double dagger +dkNotSign.item("e") := "…" ; ellipsis +dkNotSign.item("E") := "℮" ; estimated symbol +dkNotSign.item("f") := "♀" ; Venus symbol (female) +dkNotSign.item("F") := "♀" ; Venus symbol (female) +dkNotSign.item("h") := "♡" ; white heart suit +dkNotSign.item("H") := "♥" ; black heart suit +dkNotSign.item("l") := "ℓ" ; script small l +dkNotSign.item("L") := "ℓ" ; script small l +dkNotSign.item("m") := "♂" ; Mars symbol (male) +dkNotSign.item("M") := "♂" ; Mars symbol (male) +dkNotSign.item("n") := "¬" ; not sign +dkNotSign.item("N") := "¬" ; not sign +dkNotSign.item("o") := "º" ; masculine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("O") := "º" ; masculine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("p") := "¶" ; pilcrow sign +dkNotSign.item("P") := "℗" ; sound recording copyright +dkNotSign.item("r") := "®" ; registered sign +dkNotSign.item("R") := "®" ; registered sign +dkNotSign.item("s") := "§" ; section sign +dkNotSign.item("S") := "℠" ; service mark +dkNotSign.item("t") := "™" ; trademark symbol +dkNotSign.item("T") := "™" ; trademark symbol +dkNotSign.item("v") := "✓" ; check mark +dkNotSign.item("V") := "✔" ; heavy check mark +dkNotSign.item("w") := "☑" ; ballot box with check +dkNotSign.item("W") := "☙" ; reversed rotated floral heart bullet +dkNotSign.item("x") := "✗" ; ballot x +dkNotSign.item("X") := "✘" ; heavy ballot x +dkNotSign.item("y") := "☺" ; white smiling face +dkNotSign.item("Y") := "☻" ; black smiling face +dkNotSign.item("1") := "№" ; numero sign +dkNotSign.item("2") := "½" ; vulgar fraction 1/2 +dkNotSign.item("3") := "⅓" ; vulgar fraction 1/3 +dkNotSign.item("4") := "¼" ; vulgar fraction 1/4 +dkNotSign.item("5") := "⅔" ; vulgar fraction 2/3 +dkNotSign.item("6") := "¾" ; vulgar fraction 3/4 +dkNotSign.item("7") := "⅛" ; vulgar fraction 1/8 +dkNotSign.item("8") := "⅜" ; vulgar fraction 3/8 +dkNotSign.item("9") := "⅝" ; vulgar fraction 5/8 +dkNotSign.item("0") := "⅞" ; vulgar fraction 7/8 +dkNotSign.item(".") := "•" ; bullet +dkNotSign.item("-") := "⁃" ; hyphen bullet +dkNotSign.item("\") := "⁞" ; vertical four dots +dkNotSign.item("|") := "⁞" ; vertical four dots +dkNotSign.item(" ") := "¬" ; not sign + + +; Dead Key : Broken Bar + +dkBrokenBar := ComObjCreate("Scripting.Dictionary") +dkBrokenBar.item("c") := "ƈ" ; c with hook +dkBrokenBar.item("C") := "Ƈ" ; C with hook +dkBrokenBar.item("e") := "ɛ" ; small open e (latin small epsilon) +dkBrokenBar.item("E") := "Ɛ" ; capital open E (latin capital epsilon) +dkBrokenBar.item("f") := "❦" ; floral heart +dkBrokenBar.item("F") := "❧" ; rotated floral heart bullet +dkBrokenBar.item("g") := "ɠ" ; g with hook +dkBrokenBar.item("G") := "Ɠ" ; G with hook +dkBrokenBar.item("h") := "ꜧ" ; small letter heng +dkBrokenBar.item("H") := "Ꜧ" ; capital letter heng +dkBrokenBar.item("ù") := "ɧ" ; small letter heng with hook +dkBrokenBar.item("k") := "ḱ" ; k with acute +dkBrokenBar.item("K") := "Ḱ" ; K with acute +dkBrokenBar.item("n") := "ɲ" ; n with left hook +dkBrokenBar.item("N") := "Ɲ" ; N with left hook +dkBrokenBar.item("o") := "ơ" ; o with horn +dkBrokenBar.item("O") := "Ơ" ; O with horn +dkBrokenBar.item("p") := "ṕ" ; p with acute +dkBrokenBar.item("P") := "Ṕ" ; P with acute +dkBrokenBar.item("s") := "ʃ" ; small letter esh +dkBrokenBar.item("S") := "Ʃ" ; capital letter esh +dkBrokenBar.item("ß") := "ſ" ; small long s +dkBrokenBar.item("u") := "ư" ; u with horn +dkBrokenBar.item("U") := "Ư" ; U with horn +dkBrokenBar.item("w") := "ⱳ" ; w with hook +dkBrokenBar.item("W") := "Ⱳ" ; W with hook +dkBrokenBar.item("y") := "ƴ" ; y with hook +dkBrokenBar.item("Y") := "Ƴ" ; Y with hook +dkBrokenBar.item("z") := "ȥ" ; z with hook +dkBrokenBar.item("Z") := "Ȥ" ; Z with hook +dkBrokenBar.item("1") := "←" ; leftwards arrow +dkBrokenBar.item("2") := "↓" ; downwards arrow +dkBrokenBar.item("3") := "↑" ; upwards arrow +dkBrokenBar.item("4") := "→" ; rightwards arrow +dkBrokenBar.item("5") := "↖" ; north west arrow +dkBrokenBar.item("6") := "↙" ; south west arrow +dkBrokenBar.item("7") := "↗" ; north east arrow +dkBrokenBar.item("8") := "↘" ; south east arrow +dkBrokenBar.item("9") := "↕" ; up down arrow +dkBrokenBar.item("0") := "↨" ; up down arrow with base +dkBrokenBar.item("=") := "↔" ; left right arrow +dkBrokenBar.item("!") := "⇐" ; leftwards double arrow +dkBrokenBar.item("@") := "⇓" ; downwards double arrow +dkBrokenBar.item("#") := "⇑" ; upwards double arrow +dkBrokenBar.item("$") := "⇒" ; rightwards double arrow +dkBrokenBar.item("%") := "⇖" ; north west double arrow +dkBrokenBar.item("^") := "⇙" ; south west double arrow +dkBrokenBar.item("&") := "⇗" ; north east double arrow +dkBrokenBar.item("*") := "⇘" ; south east double arrow +dkBrokenBar.item("(") := "⇕" ; up down double arrow +dkBrokenBar.item(")") := "↲" ; downwards arrow with tip leftwards +dkBrokenBar.item("+") := "⇔" ; left right double arrow +dkBrokenBar.item("\") := "¦" ; broken bar +dkBrokenBar.item("|") := "¦" ; broken bar +dkBrokenBar.item(" ") := "¦" ; broken bar + + +; Dead Key : Greek Alphabet + +dkGreekAlphabet := ComObjCreate("Scripting.Dictionary") +dkGreekAlphabet.item("a") := "α" ; small alpha +dkGreekAlphabet.item("A") := "Α" ; capital alpha +dkGreekAlphabet.item("b") := "β" ; small beta +dkGreekAlphabet.item("B") := "Β" ; capital beta +dkGreekAlphabet.item("v") := "β" ; small beta +dkGreekAlphabet.item("V") := "Β" ; capital beta +dkGreekAlphabet.item("g") := "γ" ; small gamma +dkGreekAlphabet.item("G") := "Γ" ; capital gamma +dkGreekAlphabet.item("d") := "δ" ; small delta +dkGreekAlphabet.item("D") := "Δ" ; capital delta +dkGreekAlphabet.item("e") := "ε" ; small epsilon +dkGreekAlphabet.item("E") := "Ε" ; capital epsilon +dkGreekAlphabet.item("z") := "ζ" ; small zeta +dkGreekAlphabet.item("Z") := "Ζ" ; capital zeta +dkGreekAlphabet.item("h") := "η" ; small eta +dkGreekAlphabet.item("H") := "Η" ; capital eta +dkGreekAlphabet.item("j") := "θ" ; small theta +dkGreekAlphabet.item("J") := "Θ" ; capital theta +dkGreekAlphabet.item("i") := "ι" ; small iota +dkGreekAlphabet.item("I") := "Ι" ; capital iota +dkGreekAlphabet.item("k") := "κ" ; small kappa +dkGreekAlphabet.item("K") := "Κ" ; capital kappa +dkGreekAlphabet.item("l") := "λ" ; small lambda +dkGreekAlphabet.item("L") := "Λ" ; capital lambda +dkGreekAlphabet.item("m") := "μ" ; small mu +dkGreekAlphabet.item("M") := "Μ" ; capital mu +dkGreekAlphabet.item("n") := "ν" ; small nu +dkGreekAlphabet.item("N") := "Ν" ; capital nu +dkGreekAlphabet.item("x") := "ξ" ; small xi +dkGreekAlphabet.item("X") := "Ξ" ; capital xi +dkGreekAlphabet.item("o") := "ο" ; small omikron +dkGreekAlphabet.item("O") := "Ο" ; capital omikron +dkGreekAlphabet.item("p") := "π" ; small pi +dkGreekAlphabet.item("P") := "Π" ; capital pi +dkGreekAlphabet.item("r") := "ρ" ; small rho +dkGreekAlphabet.item("R") := "Ρ" ; capital rho +dkGreekAlphabet.item("s") := "σ" ; small sigma +dkGreekAlphabet.item("S") := "Σ" ; capital sigma +dkGreekAlphabet.item(",") := "ς" ; small sigma, in word-final position +dkGreekAlphabet.item("ß") := "ς" ; small sigma, in word-final position +dkGreekAlphabet.item("t") := "τ" ; small tau +dkGreekAlphabet.item("T") := "Τ" ; capital tau +dkGreekAlphabet.item("u") := "υ" ; small upsilon +dkGreekAlphabet.item("U") := "Υ" ; capital upsilon +dkGreekAlphabet.item("y") := "υ" ; small upsilon +dkGreekAlphabet.item("Y") := "Υ" ; capital upsilon +dkGreekAlphabet.item("f") := "φ" ; small phi +dkGreekAlphabet.item("F") := "Φ" ; capital phi +dkGreekAlphabet.item("c") := "χ" ; small chi +dkGreekAlphabet.item("C") := "Χ" ; capital chi +dkGreekAlphabet.item("w") := "ψ" ; small psi +dkGreekAlphabet.item("W") := "Ψ" ; capital psi +dkGreekAlphabet.item("q") := "ω" ; small omega +dkGreekAlphabet.item("Q") := "Ω" ; capital omega +dkGreekAlphabet.item("1") := "¹" ; superscript 1 +dkGreekAlphabet.item("2") := "²" ; superscript 2 +dkGreekAlphabet.item("3") := "³" ; superscript 3 +dkGreekAlphabet.item("4") := "⁴" ; superscript 4 +dkGreekAlphabet.item("5") := "⁵" ; superscript 5 +dkGreekAlphabet.item("6") := "⁶" ; superscript 6 +dkGreekAlphabet.item("7") := "⁷" ; superscript 7 +dkGreekAlphabet.item("8") := "⁸" ; superscript 8 +dkGreekAlphabet.item("9") := "⁹" ; superscript 9 +dkGreekAlphabet.item("0") := "⁰" ; superscript 0 +dkGreekAlphabet.item("-") := "⁻" ; superscript - +dkGreekAlphabet.item("=") := "⁼" ; superscript = +dkGreekAlphabet.item("+") := "⁺" ; superscript + +dkGreekAlphabet.item("[") := "⁽" ; superscript ( +dkGreekAlphabet.item("]") := "⁾" ; superscript ) +dkGreekAlphabet.item("!") := "₁" ; subscript 1 +dkGreekAlphabet.item("@") := "₂" ; subscript 2 +dkGreekAlphabet.item("#") := "₃" ; subscript 3 +dkGreekAlphabet.item("$") := "₄" ; subscript 4 +dkGreekAlphabet.item("%") := "₅" ; subscript 5 +dkGreekAlphabet.item("^") := "₆" ; subscript 6 +dkGreekAlphabet.item("&") := "₇" ; subscript 7 +dkGreekAlphabet.item("*") := "₈" ; subscript 8 +dkGreekAlphabet.item("(") := "₉" ; subscript 9 +dkGreekAlphabet.item(")") := "₀" ; subscript 0 +dkGreekAlphabet.item(";") := "₋" ; subscript - +dkGreekAlphabet.item("'") := "₌" ; subscript = +dkGreekAlphabet.item("""") := "₊" ; subscript + +dkGreekAlphabet.item("{") := "₍" ; subscript ( +dkGreekAlphabet.item("}") := "₎" ; subscript ) +dkGreekAlphabet.item(".") := "µ" ; micro sign +dkGreekAlphabet.item(" ") := "μ" ; small mu + + +; Dead Key : Math Symbols + +dkMathSymbols := ComObjCreate("Scripting.Dictionary") +dkMathSymbols.item("a") := "∀" ; for all +dkMathSymbols.item("A") := "∀" ; for all +dkMathSymbols.item("b") := "⊆" ; subset of or equal to +dkMathSymbols.item("B") := "⊇" ; superset of or equal to +dkMathSymbols.item("c") := "∝" ; proportional to +dkMathSymbols.item("C") := "ℂ" ; complex numbers +dkMathSymbols.item("d") := "∆" ; increment operator +dkMathSymbols.item("D") := "∇" ; nable/del operator +dkMathSymbols.item("e") := "∃" ; there exists +dkMathSymbols.item("E") := "∄" ; there does not exist +dkMathSymbols.item("f") := "ƒ" ; f with hook +dkMathSymbols.item("F") := "∎" ; end of proof +dkMathSymbols.item("g") := "⊂" ; subset of +dkMathSymbols.item("G") := "⊄" ; not a subset of +dkMathSymbols.item("h") := "⊃" ; superset of +dkMathSymbols.item("H") := "⊅" ; not a superset of +dkMathSymbols.item("i") := "∞" ; infinity symbol +dkMathSymbols.item("I") := "∞" ; infinity symbol +dkMathSymbols.item("k") := "∋" ; contains as member +dkMathSymbols.item("K") := "∌" ; does not contain as member +dkMathSymbols.item("l") := "∥" ; parallel to +dkMathSymbols.item("L") := "∦" ; not parallel to +dkMathSymbols.item("m") := "∈" ; element of +dkMathSymbols.item("M") := "∉" ; not an element of +dkMathSymbols.item("n") := "ⁿ" ; superscript n +dkMathSymbols.item("N") := "ℕ" ; natural numbers +dkMathSymbols.item("o") := "∘" ; ring operator +dkMathSymbols.item("O") := "∅" ; empty set +dkMathSymbols.item("p") := "∂" ; partial differential +dkMathSymbols.item("P") := "ℙ" ; prime numbers +dkMathSymbols.item("q") := "ℚ" ; rational numbers +dkMathSymbols.item("Q") := "ℚ" ; rational numbers +dkMathSymbols.item("r") := "√" ; square root +dkMathSymbols.item("R") := "ℝ" ; real numbers +dkMathSymbols.item("s") := "∩" ; set intersection +dkMathSymbols.item("S") := "∫" ; integral symbol +dkMathSymbols.item("u") := "∪" ; set union +dkMathSymbols.item("U") := "∖" ; set minus +dkMathSymbols.item("z") := "↯" ; downwards zigzag arrow +dkMathSymbols.item("Z") := "ℤ" ; whole numbers +dkMathSymbols.item("1") := "≠" ; not equal to +dkMathSymbols.item("!") := "≠" ; not equal to +dkMathSymbols.item("2") := "√" ; square root +dkMathSymbols.item("3") := "∛" ; cube root +dkMathSymbols.item("4") := "∜" ; fourth root +dkMathSymbols.item("5") := "‰" ; per mille sign +dkMathSymbols.item("%") := "‱" ; per ten thousand sign +dkMathSymbols.item("6") := "℘" ; script capital p +dkMathSymbols.item("^") := "℘" ; script capital p +dkMathSymbols.item("7") := "∧" ; logical and +dkMathSymbols.item("&") := "∧" ; logical and +dkMathSymbols.item("8") := "⊗" ; tensor product +dkMathSymbols.item("*") := "⊗" ; tensor product +dkMathSymbols.item("9") := "∟" ; right angle +dkMathSymbols.item("0") := "∠" ; angle symbol +dkMathSymbols.item(")") := "∡" ; measured angle +dkMathSymbols.item("``") := "≈" ; almost equal to +dkMathSymbols.item("~") := "≈" ; almost equal to +dkMathSymbols.item(",") := "≤" ; less-than or equal to +dkMathSymbols.item("<") := "≤" ; less-than or equal to +dkMathSymbols.item(".") := "≥" ; greater-than or equal to +dkMathSymbols.item(">") := "≥" ; greater-than or equal to +dkMathSymbols.item("-") := "±" ; plus-minus sign +dkMathSymbols.item("_") := "⊖" ; circled minus +dkMathSymbols.item("=") := "≝" ; equal to by definition +dkMathSymbols.item("+") := "⊕" ; exclusive or +dkMathSymbols.item(";") := "∵" ; because sign +dkMathSymbols.item(":") := "∴" ; therefore sign +dkMathSymbols.item("\") := "∨" ; logical or +dkMathSymbols.item("|") := "∨" ; logical or +dkMathSymbols.item(" ") := "√" ; square root + + +; Configuration : Right Alt on US QWERTY + +>!a:: + if GetKeyState("CapsLock", "T") + Send Ä ; A with diaeresis + else + Send ä ; a with diaeresis +return +>!+a:: + if GetKeyState("CapsLock", "T") + Send ä ; a with diaeresis + else + Send Ä ; A with diaeresis +return + +>!z:: + if GetKeyState("CapsLock", "T") + Send À ; A with grave + else + Send à ; a with grave +return +>!+z:: + if GetKeyState("CapsLock", "T") + Send à ; a with grave + else + Send À ; A with grave +return + +>!x:: + if GetKeyState("CapsLock", "T") + Send Á ; A with acute + else + Send á ; a with acute +return +>!+x:: + if GetKeyState("CapsLock", "T") + Send á ; a with acute + else + Send Á ; A with acute +return + +>!q:: + if GetKeyState("CapsLock", "T") + Send Æ ; letter AE + else + Send æ ; letter ae +return +>!+q:: + if GetKeyState("CapsLock", "T") + Send æ ; letter ae + else + Send Æ ; letter AE +return + +>!w:: + if GetKeyState("CapsLock", "T") + Send Å ; A with ring above + else + Send å ; a with ring above +return +>!+w:: + if GetKeyState("CapsLock", "T") + Send å ; a with ring above + else + Send Å ; A with ring above +return + +>!c:: + if GetKeyState("CapsLock", "T") + Send Ç ; C with cedilla + else + Send ç ; c with cedilla +return +>!+c:: + if GetKeyState("CapsLock", "T") + Send ç ; c with cedilla + else + Send Ç ; C with cedilla +return + +>!d:: + if GetKeyState("CapsLock", "T") + Send Ð ; capital letter eth + else + Send ð ; small letter eth +return +>!+d:: + if GetKeyState("CapsLock", "T") + Send ð ; small letter eth + else + Send Ð ; capital letter eth +return + +>!e:: + if GetKeyState("CapsLock", "T") + Send Ë ; E with diaeresis + else + Send ë ; e with diaeresis +return +>!+e:: + if GetKeyState("CapsLock", "T") + Send ë ; e with diaeresis + else + Send Ë ; E with diaeresis +return + +>!f:: + if GetKeyState("CapsLock", "T") + Send È ; E with grave + else + Send è ; e with grave +return +>!+f:: + if GetKeyState("CapsLock", "T") + Send è ; e with grave + else + Send È ; E with grave +return + +>!g:: + if GetKeyState("CapsLock", "T") + Send É ; E with acute + else + Send é ; e with acute +return +>!+g:: + if GetKeyState("CapsLock", "T") + Send é ; e with acute + else + Send É ; E with acute +return + +>!i:: + if GetKeyState("CapsLock", "T") + Send Ï ; I with diaeresis + else + Send ï ; i with diaeresis +return +>!+i:: + if GetKeyState("CapsLock", "T") + Send ï ; i with diaeresis + else + Send Ï ; I with diaeresis +return + +>!v:: + if GetKeyState("CapsLock", "T") + Send Ì ; I with grave + else + Send ì ; i with grave +return +>!+v:: + if GetKeyState("CapsLock", "T") + Send ì ; i with grave + else + Send Ì ; I with grave +return + +>!b:: + if GetKeyState("CapsLock", "T") + Send Í ; I with acute + else + Send í ; i with acute +return +>!+b:: + if GetKeyState("CapsLock", "T") + Send í ; i with acute + else + Send Í ; I with acute +return + +>!o:: + if GetKeyState("CapsLock", "T") + Send Ö ; O with diaeresis + else + Send ö ; o with diaeresis +return +>!+o:: + if GetKeyState("CapsLock", "T") + Send ö ; o with diaeresis + else + Send Ö ; O with diaeresis +return + +>!,:: + if GetKeyState("CapsLock", "T") + Send Ò ; O with grave + else + Send ò ; o with grave +return +>!<:: + if GetKeyState("CapsLock", "T") + Send ò ; o with grave + else + Send Ò ; O with grave +return + +>!.:: + if GetKeyState("CapsLock", "T") + Send Ó ; O with acute + else + Send ó ; o with acute +return +>!>:: + if GetKeyState("CapsLock", "T") + Send ó ; o with acute + else + Send Ó ; O with acute +return + +>!k:: + if GetKeyState("CapsLock", "T") + Send Œ ; ligature OE + else + Send œ ; ligature oe +return +>!+k:: + if GetKeyState("CapsLock", "T") + Send œ ; ligature oe + else + Send Œ ; ligature OE +return + +>!l:: + if GetKeyState("CapsLock", "T") + Send Ø ; O with stroke + else + Send ø ; o with stroke +return +>!+l:: + if GetKeyState("CapsLock", "T") + Send ø ; o with stroke + else + Send Ø ; O with stroke +return + +>!n:: + if GetKeyState("CapsLock", "T") + Send Ñ ; N with tilde + else + Send ñ ; n with tilde +return +>!+n:: + if GetKeyState("CapsLock", "T") + Send ñ ; n with tilde + else + Send Ñ ; N with tilde +return + +>!t:: + if GetKeyState("CapsLock", "T") + Send Þ ; capital letter thorn + else + Send þ ; small letter thorn +return +>!+t:: + if GetKeyState("CapsLock", "T") + Send þ ; small letter thorn + else + Send Þ ; capital letter thorn +return + +>!u:: + if GetKeyState("CapsLock", "T") + Send Ü ; U with diaeresis + else + Send ü ; u with diaeresis +return +>!+u:: + if GetKeyState("CapsLock", "T") + Send ü ; u with diaeresis + else + Send Ü ; U with diaeresis +return + +>!h:: + if GetKeyState("CapsLock", "T") + Send Ù ; U with grave + else + Send ù ; u with grave +return +>!+h:: + if GetKeyState("CapsLock", "T") + Send ù ; u with grave + else + Send Ù ; U with grave +return + +>!j:: + if GetKeyState("CapsLock", "T") + Send Ú ; U with acute + else + Send ú ; u with acute +return +>!+j:: + if GetKeyState("CapsLock", "T") + Send ú ; u with acute + else + Send Ú ; U with acute +return + +>!y:: + if GetKeyState("CapsLock", "T") + Send Ÿ ; Y with diaeresis + else + Send ÿ ; y with diaeresis +return +>!+y:: + if GetKeyState("CapsLock", "T") + Send ÿ ; y with diaeresis + else + Send Ÿ ; Y with diaeresis +return + +>!r:: + if GetKeyState("CapsLock", "T") + Send Ý ; Y with acute + else + Send ý ; y with acute +return +>!+r:: + if GetKeyState("CapsLock", "T") + Send ý ; y with acute + else + Send Ý ; Y with acute +return + +>!p::Send † ; dagger +>!+p::Send ‡ ; double dagger + +>!s::Send ß ; small sharp s (Eszett) +>!+s::Send § ; section sign + +>!/::Send ¿ ; inverted question mark +>!?::Send ¶ ; pilcrow sign + +>!1::Send ¡ ; inverted exclamation mark +>!+1::Send ¹ ; superscript 1 + +>!2::Send © ; copyright sign +>!+2::Send ² ; superscript 2 + +>!3::Send ± ; plus-minus sign +>!+3::Send ³ ; superscript 3 + +>!4::Send £ ; pound sign +>!+4::Send ¥ ; yen sign + +>!5::Send € ; euro sign +>!+5::Send ¢ ; cent sign (dollar) + +>!8::Send „ ; double low-9 quotation mark +>!+8::Send ‚ ; single low-9 quotation mark + +>!9::Send “ ; left double quotation mark +>!+9::Send ‘ ; left single quotation mark + +>!0::Send ” ; right double quotation mark +>!+0::Send ’ ; right single quotation mark + +>!=::Send × ; multiplication sign +>!+=::Send ÷ ; division sign + +>![::Send « ; left-pointing double angle quotation mark +>!{::Send ‹ ; left-pointing single angle quotation mark + +>!]::Send » ; right-pointing double angle quotation mark +>!}::Send › ; right-pointing single angle quotation mark + +>!;::Send ° ; degree sign +>!+;::Send · ; middle dot + +>!6:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkCircumflex.item(key) +return +>!+6:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkCaron.item(key) +return + +>!7:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkRingDotAbove.item(key) +return +>!+7:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkMacronStroke.item(key) +return + +>!-:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkCedillaOgonek.item(key) +return +>!_:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkBreveSpecial.item(key) +return + +>!':: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkAcuteAccent.item(key) +return +>!":: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkDiaeresis.item(key) +return + +>!`:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkGraveAccent.item(key) +return +>!~:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkTilde.item(key) +return + +>!\:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkNotSign.item(key) +return +>!|:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkBrokenBar.item(key) +return + +>!m:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkGreekAlphabet.item(key) +return +>!+m:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkMathSymbols.item(key) +return + +>!space::Send   ; non-breaking space +>!+space::Send   ; non-breaking space diff --git a/UltimateKEYS - 2020-03-28.klc b/UltimateKEYS - 2020-03-28.klc new file mode 100644 index 0000000000000000000000000000000000000000..2643fe4470dcfedf3d2f36d6f814110f4fea5b74 GIT binary patch literal 72332 zcmds=3AkNZRp&3@K!MsS4uAr$f>aeysY>#ayaW&{c^N8HCi0S+km0@LC6yXOQnP>q z3W_5*06o~+B8aWhOim5Xh_>xKG-&&Ew~DAZbUQUTw7q`k|MvRtbMCq4-J2@E=Iif% zFFAMLd;VwbwbxpE4SVnVPygq-(eBZn(IumMMz@dd9^E!t9X&9*5brmPPBblNM|X^t z+cMhJ{B4Z?=c8rIXh+=hsiVgU0v(Rsrdd%^s`WKG*DKXKAw-ZJ#l>|zI|7`=(lmN z9$g)u-wAdcz5^cT(mzczIAmV@cAuGAFhfX+!cJhIzIQ4HjYkpo^ogy`ODcn-sq-?%fze=g+VLi5>NBMr+< zo3s#o{^0FWP;klU`q04_$N!hayXBCjOJal=sY@E}!Hb2wV`Ip}CGn>h_xO6&t3nAH zujl#6$kUdFhKEzQ}}Sc3z>tGPzX_KvQMtG%Neqd#!+P$OBAz`5q# zvFI`1c}{Q(JzpI?w|RdcWKVG@)adH5=;?vz<-wpBE$Zvrxb2*4^b$MC_b2s2&r>h9 z26gmAz2FL3w=`|;#Y*;PW$oMJ<8(YU|5)%$V}+$Y6f*|4qD@tIgpNiZu}2%@`-~RX z?K>v-qdZZ4*%s8(AN7SR^@S_3smB^F?uqMzjnu8*6ZHFVBW2jf zG7dKd7YrGv<=o#pa1$)Jb3gR(MiSTrn+X~k|pulUWCXkCsg%g5%1|47Q_ptYaZd*hk% zt&osiArsg_C|R0dHIexfK_8=mM|C7D)W)#TbED@+`;oXGo78828CUu@+ntgy=+`WO zMije=zu4|E8lfJGKjXIOa6^SO0!r{l&<&(PGIeeI53NhRqvU(qoLH~-zOT)Pq5IVL zmFN?_*1ue7wBbTM+Na{Z`Yuk5_x-zYk4ZCApdbT+zyCi5qCYh67y7sQv$xUH-$}DhlZDvpp z@X)XhLd3GcJ@~vg+GTsNBpL&M7fO%DeOQ-C-|zNzx@YZL8{PWb!%yQ5aRE>6hWHZ~ z?pu3TbD_-LCmTK$$*Z5W6cXLfg&St%g1&#TTp%Wezt_fSpsRf|QBC)HJX#M=9K<&! z`V+ZF8 zHMfvItS&i~S!GSW==9v`_g(AzC(9aIdL%|(-erByuvGazaRjNksp%H80d{5(|cYs=9%nz+XdcOw2|yY5+gS97n#XQ!G-Z8q&YF(dc% z{fpxsnbU{QcCCjd?h#=fNba3oduQ&gHl7^Xc(S>gje7@XIyUM)9Q z^mx9NXRYH^VpPS)igB2qspOP7uSC(z+Q-5_$9@tEwZDfar1`1L>$-1ajKz`0<5Xlo z2Bh6vawa8jFcdGtr*>>vdeQfcX;H;rywAd4EPu`45`8YDzqL89Rx1A1S(tV_Jj~(x zyTd%jZzn@}tcfa|hgpizQjP;(n9t|p|B@qxZ+=D}uO6=P7=FrZBZ7~%s~HKr7kJA% z+rZT((Q+7&ZJzMBe%)iqppZ`I@)NzY{1^IG_~|Avq8^g+xIj*M{dwv-nr+e8|$w) zfO%jx>#y8y&812miEA4!AX~Sry)(B?XBPid$M2X%=Vz6AegERP)sAN_R<=1AL-N9&zkytMYD}JWc~%;KAUiWT;F1bazT>>Ie``Gu7Lg{2n8)kXM`Y zigg-=^5w|J)N2Ni0j)toj*tbU2pM3l3*(_r=>@*a!Dy*#lC#8n^~#mQ@tp1&5F&PI z8`ZhpjZdwflgGTd=`sC&aP6JtY&A#iWOG$yY_bikwe{v1wOilsj^uRDYR5(%eK=hs z4Eu?bP{b`FiW`$#_piOHxrNO^T296cg&fTimuh9q^t9^x4+pob=?{flMiIA&;ujk( zAX`Wp?`m#g?ZhqFy;-=mIHPRo`xnQp#gHLK@#CulrXRB*Byo*c?fUprEOPJKyP9io zQe5L|HW|BqMy~1m7ss`BzWZV|auN#Mnh!o)685Zc3p>ucnp^0sxW(0M+}b@OxAgso zgIm_6*)+1vEu)BA*d$hOOSbM@duMK)ZmbsEI&~5DYu1{jzJGDtVjiv%ajW znttv7@cpbkI~bk`9`X&9Y^rBu`>ZioPWNo+YB|5Bt1|w^g8xJB@Z&c&wYI&{Tj@4+ z9yFJGhdzh)Z4Fn;sIacDJu;Ic8;z0vEp-3Cie|djp?n6$S$p6XV;|7@u)ge` zIvsf+_74#cpNtnfg|uIZr(lh@=PbV3jJdFv>_ zbeLN!O#A?0QpXpapP!htO^3OCEo-?sB#D_rn71V6(-M=m=`goen9R&r8g$iAmdZnA>y4Kizmx8l$@s^RMGdFWRQV+?trDDonf;@$)wlleXzF z7t)4otMrI{n8JKv_MNurFzdR7^@z3p!u;aIq-{FPg|s23o7}eec~4^geO&29+jN-Q z67y7rNzF!d{!U`jHXY_d+7MAJI`2!&d$RAeO^3Oy!nAzizlqMf6O*>-Fc;QzlQpsA zqeLgOurTjSOxmWy+*V;y%@HQ6sDycMV$wDp=0c;J>;c=^%*w)iFfm{IkB;!3YRuZZ2+mt=2n~_c?*FH6oXse~9i&Xn*wug&} z^eKr%+Yr+BwP>6OhuowbN5b_7k6&NL@d%i)8O`wX$w!vUeX&B-)00XP;1e!9>&kMEb)- zqHPGNc!I3O_1M`He99w>7Ir)J%3Z3s#8mXPdKc;4EdNVE+h75^E@B$p$a>_7inB6a=et`ron86@TgA=zvG z)kNxg&0VC0h7x)wPe(|clOrj(DUoO!>Ydi}2+8uqYGxtbm`Jn@A=!UdCPXyZe_u|d zuK(WcoxOIgUJ#PK_Ln45*K6-0E#%yyxj{&GXYW=MiMFBMZL5&%`5sTCQ;9^|5K@UB zkOCt)e)x?<>c$V<-j%2UB=T|Uouh_dPo!?t&_z0(8q9eN1?eBMcfXxTZJJIso+BRQ zYIF7yBa0`=oKJ?u{uLgPc5NYRTA?U<|7$+wgZY#;y|X<oL>chIh*LgSoJw9 zTRKYyitF6TQ}a20p3h-)IQQ!A=4luAEM?-`-nM=D_vhT-mIS=*KA*joyh%R$v7q?Q zh*_=<1kM2?8@m!$_eOvFym;1c+4|dyzdUJcd-12%P}##{)Y_W|(NUGX`O6Zq?afa{ z^lpmPCi<65{6UV@hvG`FHjPAU@BmHgQh9RCO0g2gIliAs%=aZ`o5~@~?af?+MClwR z(YcbCkIER8He0^QJ>Oa(dPd!yh>uJ}+NMFQBP4tNClm3pmE2Eh>MB%m_(#) zIvTO|;-hKAQfj7sZ1$SAX%H1T3DGp}NyNt_B5l(k))AETW;GE%H+xOnG>9eRP9$Z$ z*_();lZdoUgSfrHq1Scvayk*8lD(#F8pN#?qNA97iTLD1q-`2RM}6AwD4juPHP)AA zuW6eG(b1oBC_*IC6XIMV(l!mEqCohlSwo1-FhYE4_PRam4Cyr04M%%8KMVU`m!g`(^ z-5USi8UH`M%6IvRjzb+iZptUNqsMWsT-@_Z%*mKo108cNen-`#_t=;f~-0=UTu;PCjIYbtTf#qND1AiTOo|N!xUo+v6FM7u7jM=N*Z;E9HeY zV~+FMR2tEvcPJ6BNkrPFK~zMFOv{pqMn|N36R{nU4$+8>5u*KnN2Yrcu^pLCMl2C3 zzKO@i5$e?`Gwlda}VJ;^Vm-nH#d#v`sTI+bTrQ zEbLj7lwY5Sv`vGksG59wM5 zAzEjMti{KdBqD9oAS&t>qCFkFbs^rCh_p?EsOVdW_H>A}g?MWs(l!mEqi|`Dq{f&6}wTVgFG$X#Pp-ug^ z3~~OY5MPssv`vGk%B2u(cU`&s#zbsaE+=zRc1MV|yRKV)Ln5~8mXi@rH#369#+m1T z%3i-Q5!*Blj}81&Uc^--XINgAa^B9cOs2BVw0N|gY59^wY-d^~BbG`dCmFim&Q5$V zXRv;Z{w#&gC@s=BDNAuEyvmbnxi3zM=49--Q6DIlfVAN*|g|D^y0xF~QF!+V3SA zr@O6(rd$MQJF0$?cThjSEYWDQ4qxbufigPK!}?6c`m$PN9E7!)5<=TBmaCz}xrP6Z z?LQ;wYRC5dbm0}!N1X~Ox*XMidSbPs`aY~Wp7&TXYU<3!|9oQ2C03i_KCDvZWxbyxNyqn>XYbqbeYf|Ag0FCx z$a=NKU1n&;u+E4&+P^IE+tL2C_^t@+G*{`t+2qAD6Q4HgXCE(I6W$WNDf)RJv7V7w zv<+jGbJXayefqyhtXtAq^n)6 z?!zkU5V4K!gt>};V8s)^{+|Zx9K7~eZI0P%Dpmz_G4T(-;*e9irOe;oh_MV`+`J$;`e-_v?Ia3 zewFpLVA-Y%&rnDnHy&v?J6biPffST&BvYy27%o-yb6;x(+8+o33#z zPM#=Hu6D{vpB?4?V9G%|%I(8)e7jQBWgXwXJF(jFZ68*NY}>J@BipwH$Mx!Rn^|hS z@~$)ei%&Eurd@2T{MnfAZV$d(9lPXg#lbBzVA%yl>|)Q}QSB#YPuo##ZL4CnQ!os_nxn6=HT1*>assiT!YLjW$axtAJU5qJEn)G>9mY-(4xZTTHa~CmL<* zp(%P~9-R<9rq|Gp9w*TTuY~3pqKY3AtsOu1qty|lEg0U9H0lXC2DG`SePd8ZkoGEx z7KQcr#G-8&i(h+V1gKD$u8$I`YU6E*Q%KFjj>aQ&=(VzPH z)a)m1?q@$*UHP@G-JfV15{F zrC0FIH|q|>v+ELVd!o^{9-5;oof9B5A{Np1oJ4C!F_UPMr$JBcM-i(C?b(Uej$iuG z>eamV@LW6HmuT(UX+K)MqSrHv>!y1Xtz9?mM{`sqOCr7zsi>zPNwmq)i)VupRn7Y{{M)ouv6$>UF&u9azpZ?9li9AREb|evlKagxjxa_@k>9NS1Ie4 zjWq7mN;Ot5PPBIYv>(kYmFxXXuAROp(b~1sezZEe^1R{b>SUs|qpN639sSc-FnMeHK1^NH1tXZo;IAH^qLuKWP%jKX^B zT=9mNBI|HZV8|!`Mm$L^Zr{JzMPFUQgEcK4Q|Jg^NlYq zH2arZ6YbM0vxg+JH~rd>Tf&76X!rLNOgo~X>f%1$V6&Kc;iT=0>{|~o+XHv#Ifs>-;-C^ zx1%ehpSaJoqI>9Yoy&1t^)*TB@Y?!aA&pem`4-x~C!bKqTGmsfUw!!Od_p^>8RteF zY1v{By9nvC5{Wi@B;!aW&SKAo_3R^w^t*{v^Y!jVZ^@FwQ;&Cvv*4k<@?S`_Z%DK* z579X!=X_Iz0#zqzVF9!v7+tH^ZJkcko2D513o#zI1SgQ#D@N1>&V*hfHFbSob1c;? zXX+0p^79h8D;sTk`_UaCYBg*(LOhb_?FeyvjLT|T=(M&uK0KUA?f7sUsYHiZI@@*E z+>WQV)uVG)Gn2#dyKuSm0yLCt97)zaI4xbMY)oDDjo#>GAn2+B~;i%(F^F#y|o=jF3#duY!p z@fy#vG#}4rJu#m}+e3SnqdBd???!WXFVHtq%mB&x8+E zW)jy3b#l9CrS2xo&ri%@TD!PqFD-e0#|-m{`?|!POsn?N7D~1M39jmw2t?^q6Y+

pGd&>;5WyQh9X7|77BPa^lctoIW1WA1ESDDVnvINS~BQv<)GtZi&BMpWFE1 zM7ktvEp3|G83M1k8K+gXOg+If>-+NwkIpBwX`TKFb(C(t63uCRZpd+_&D`jYkIxL+ zG4fooCvjerT%~O?PKmgw3fpf%dqmG4$CX~R8E2e#CE`XGjI=kAem;?C8$v44ES{9@ zo1@v+W#4Es(m0Pwj9Q;p<{0(0i9_3D97mm}LpzHEpNV_KqrXWU+Kki3BgR~_mu=bp zMEdJQqHPGNjykPXjyg}L9MNW^aULP({2t$OB}a}lzxOR={ArtvQzA>`$n)pf?Af2i zm0q+Nr;kUfTOvnBI*>@em`Jn@A$|NtmOCpAab)?%9DUl{v+*%gIkgRO<@8yJ)2^KMjhU;a)_qq^cP3K1YC4YO9kDvMTQlk%*|#rB3rw5)Hjboq zgV^%=bf-g!^xQtQd-}hwiXd6PRE4ZHJ9j`AY5^Y0BB{t{mIU^B=%O?F* zT~;Yj^x;uxU_jRy80-pgk$+QnmBJt9NH%1EHqpr zi>nn9>gP)n=eo4%w2kA;h2PuG*lQewXbpdUB0et>X`2SItjlGLJr|xq+9+Kf0p zs&!S{TsxLX#}kRRA*7OffhOlDE+o@Mi#c!d z{fX4hn~cjAype1<&+44W_a#m{C(^|!`3~%bdq!?Uvi^5*rB^%O(Kl|4J5`7JydrWN zLi+7QYUew~kxIUURjala&Ud^t`_`suJ-v2@LmDnUa)#qv;9qRrCL9Shax7}J%?zr8+j-jVdtHW{bh8Ewn${K_kHhNI0m<0Db;h_=V=tjbp; z5^Y0BC69ufS?--j`Nz0lFWQEXO7;XfGm^6>zne(34Iz0Qv#ul$55`@R*awr}v<)G7 z6|?#&q?;4zfkdKh2uVA}k%9UQ?GGi=-zQQ#2hq1Hc{rk#w(=b7{rmDcf0xf`XDDWU zj`z&gy+N(^iPS^_DSk> z=R^F}ngWfZD;wVL^nVh+?VC)CUsk>l6MJsklDxR>vZ7Dy#iEW_D$dl(ZV8Wo_>Ywv zn}U%~oYHVx5aI;@(93g+!!n8pL|lwDVTTmT0^@X9(J+LDarV;CXTO!u=1(I*XI*yn~p=p2d-x*yi_6L z!|K)bT>ESlzI3S~!gKri_@_d|d)2G!vra;+y+cQ8_71-)d)@X9C(CZ_CED`YOZ>`2 zYW!&dBVje7yU!*I%EAv`sTI^%*zjElFYi+Pc%RW85+8*uX zUKh`{?AFuVYtNS5dU~}z+sTNYh3gp;3`x)TB#r$T%x!)1Z+-gor1^J$v(|-`Y138Q zykgd~@PAMGX!EF?N$kGa*GQgyey|bSmO{8}Aa~!FjMIEnt7X8cYU3(TCM=C3mu)9X`?D=bn)Sf-Zk?IVKbKss6 zK9)%BIbj^Bo(qiRx!{9|)Se5*k?J|X85Yk0U!K;mJqL^<)wbVyXWRc}iPX0J<4Cfn z*!((k{Xq0d+VWS4MB9+I$c_rhV|P;`{beH2HiV?u04usu<-myzMAJLxWRJ0M=OeDt znu2l)#&Tq@70;D*;>_qeiMoqPba3&QS|uP%&qZD(@Z(A6N<>0;2Mu?{|6co}bEmua zdv(Bi_iI%E_b*o&yOY_c@66{f#*^U*_WW4TfTxCifTG(+f7POi+?8mupR$;k?@rA9 zjfbgUXewyhn_OlGtq>4>mWU50*1t=v-ObGMU{J=Y(t>tAMv~KU`2{Gi6x6DKF6#Rq zBC1vb2-Pv#sYLzvN$d4N59i?1bK-kWA=2rztO+fB*NOn)SvK}0-rEvyfAo&i@o#HT zSgFd&Z&sETELGrz<;>#g#QLtp+Sg#+*&xh?MuWz?f~1qByGYdAr3KR?sR|ELoi#m^ zNbg9Rjs^|T!QPqWSU;xG)jQGmXBB-!1YK0B@1pPGP!%l;)t>S#iTbXj^+b#UG@+$M z4sVH;2V$+iTFgnjlrHAA4+&E_B{1tM1#+R@e}B?>Fup+!snE#YpK}!#k>D=Qbu;6r zBCS3;TX}op{AkkCKG&LGZ|MGN8(xo)9AzF%q#sM9{hUqIrQIAq;05{#W+s&51G1Z|mt-fVybEdXZ?V_K0WpcF0Fan%|zZ9SwUY z%YQDUxXk11_F}JG>1#R92#aGpYPc7Nr`oCLvtM^U@qQ%fI}jXKq{f`dtORY|MWouP zkX#!%mPqeSq+^Y5!YIlLf~87(>7}wg8UyRxg~a;a#5xe%!B%nR7x4$XoA4XS%P^bJ zUQks@?V^&k5$`SzRhb;2TC1JO`GKVMP>dt9Bi=^o``x3zjh6GxzhsZtN5cEFL3^E_ zLdV5h$A!m}@*mD;To=4}F#c|f{!@F`E((v5YCNLWj!HzmhNwCUz74Z>l2wZHf8l#5@;>_(8~+ zc6}j_{d8hSg=verJuyEiG121tr=qg>H1#^!g+#n05#cA+ub-~sZ{Qsi$=H!7k4Y5r zzRbS;C`i6~=iKYgMET@IY43LKlM>=iA=zKvlt_5Fv`L-%q+| zbG(k%X*76R*Wiq_E0KOWk!Tx2QWlUL!b+8aUQML;W)6Y2Atcq@gk+CxZz8=Xk!Tx2 zDp^3zmG!*Aj4M7pJ@aI=4Iz~*AV{9e4kXeQiA38FQpp0cuER2k1ByT+YnNn z1vH-?NTiP?5^Y0Bbr#Tkx+#%9nn<(_A=z%$HV#>o6ucs?^lDoq>|0;;1V5=*|4Eke zaLiKpuS;R$N}M%rFYC4WwwK?V^qg+IAmtErGA|J=5d;w+@iSMvCl7abJd@d))5G!R z$TO5*hdSDPCeQeuKqc37WqkKQ+y#<+XA5C`^I(XNHFo?4;r-R@jUUaL2CQxw|J{l5nS&^`gc`H##==jrwwz4Nx5kxT zwoZjEL)mAnKR|}IG?eYXm6^}@Qd-d@nzA(E|#;H(jL`xP9@gdT%nBB zqG#g8N}VF%&RMeOxA1CD-hF9xcfCfu4@)ySRMhK9JdAtUtAm9O~3$X(2d~k$5+!Oq%b5DvUK=cfI zZ6dBFBH0Nn=WXjCmRunxhS~?j)``Z)NhtjWVCS;gQnG(2RYJcJLz6O7@Pi zu?@gi7j3(z^^LlyY>&9|cWu-|4-wU#T|Hmfv-`fl*GsDi$8CT;x*EYA-TDaj zz7|(ke4gPqT>!`J0OKZyQIez?7UUt7gx$_Rrmi}P!oDAvhjSg|r z|M>WqJSn>47~gr)&#g2OE3RM1W>#UgDt^kDKpvmHiX|=kPM860oAF|#Q9qE>f=ezR z3$0b5vd--}u(e|_1`H%yA*{1#+K@>6J`)una%os_Y;WIurV~0eLmKh;LqJq) z!tb-xc9%FrG(PU~VtuGl!Z~OwRF6p< z=_pUudOPvSQhI+r`E!#`?Oxdv)%rRiING`~5gwliHK!+`DGG$k^{<8CXNt?uN>0>% z2CGh0z0v7|>};qr(uxR$>P(>{!e=LH?Q5)uS~BHWIonHT%0DNy>CWIhb$Z5XT)&ks z*NoxX&6e!*d*e#4dz%sD#4GHaYU{P-*c@jRZb@y|sUYZPeS*Y%;w~k9)8NimxM-B< zbv(N@ao@8>?OaGIv+^*#TPs}U(xKNnyDf2#PfhQZ;6qI>qa%7fQ*2M%ADf!q`M|B| zmDaX*89J-}f~o0c+;&uakY^08`RhFU7f+1~y)`bjMe<-d+nIcL;ncX>I=IYA!Zm-L zhkw!3xC<>@#axQtJhxnx^lq3ddeLXul*#Ar`nT+y$zRO7>$6HZa|@YmTS<)rSoN94 zU!0V@D6wRlnajzm5POtblGf+k9kZxyFQeNNmL51I3p(t3LtB65$`)=? z=86?m`b|f?nB9$)0Xoj9~j z#wqK4Ibp}Mg7X6}$laUut_Gj=#y78sF;+ECo||Gc#(i}yo1n9{Tum-JahU1t&FxL< zzbUEj?q%?k`F8us-S19%ddWZFWqCxMe>k19^&~%{jAmKK1(H1nXB*BW(nIr5%2_MS z-sTsvf#mrmIZCum9&MlRxwFa+>`$C;PQKGN8Aq8Ae0qGI;@3M9a`{_|6xUKCd!qP5 zd6D)?J@i4C9u?<8E=$brI1l4$eYWynruAdl=QGK>^=TdE3Hn17Kt7Rje)#1Yqs^Id zr_H>@OY5GWWh9UGb&0eok!Tx2Dp?Fh$+HJqDw@t`-)S=v94%*KcTdt{cEj%MjL4{r z{NY6WHz`51O@mmn9GnT@n8I0(?@UD6jEF@%AF-l!Q8@>2%r)m6z9VsHn~b9j0OMGn z<=_m!iR3I z6{jUwwj3kAEBi&;WE}6hs@M466!(Zf?@S!pCgYUT1jwm4ll@@gJS`=Zw#hixNcw#f9F?W0m82Sa3>Mw(^ceUzb>}f31gDqR^d{hqNt6;oB0C>^HRy z=KlM_W|Cj*=O1&rXtcd?{Q1U2WUXoWJ&s|-5_#6Yk-LyIzCICa8mYxhrm@7F^$B8* zIp2_oHI2iFCEDCsX~oW@@mmv-QC4(>?DTVxSq%=>yBRkn*7r<-Rcj2{C$g@^;?6ho zxkkvE_l1f7Es0+=hBdgZr;h6kSfcn;Wy3E`#9tXhtfjJh?o3xB%X%eoeo%a6S6BgxnW=N8ry${0}64 zP5&(T#fqG&bpDFO|INhj>iqhY7i&`Q^?7etFHrLU>dq<726J9%(w1 zI&WkYo-S`_eH6Gho;%`K^PGp8lsl?-pzVqg;Wv_&<4$(Dfm=pIs}ERLUhly03aGa~ zs&K6KvdP2=vEY;yN&NPbBQLK=dTru#V}Nn2a#Axi*$43|p?4%!O_TcO9d=q5pkISB zidPA}E>XG^b&*s-6OWAK3fgq^lrzcTkWpMgo1UJM!GS-Xt(?JmXZEb-4^@NiZ=hfk z#UbNV8JxuFa%dcj6%)d$V+iWPlJ<8cR!tN2(Az^I>rpE>_3yImNt|yCPOO@ycBaqr4T5-OEN2p9{Zi9USBQVB*!Zv2(WOR*7(s zDWf>T`L;yqQq@IL7EUtmnbKLfA4;T}o;Ec)Z%8~chO=(3PmC@#ZJctdFyrP~_0}A> zA5NT_7UG6B&er5{?Snrrao&(PU3$i`%8GGlvZr!3v3?}6YMNMqP>)wxEzWoug_Yrw z$TucRm!d9G`3)WD@p>MzfkOJxM5^hzExyZsyjtJL4{FSet?!J|5dd^8chBN4h3)hK0E z7IfIJVzq+k_{l`6={O&@u-;{hzadJDaV#;uGcmf9v~f!27+UNvICK2diBr>})mPN< z%o*+$J;rgq_`4FPOV2nK*-v4eth}l#vu{6@Sp78dP3_OSFE~cdZez%gSM{HZR-Rf` zla)S{>@>WvH|Om1Ki6~1smDCm5fphc$-~d|_Ln)xR;2t26q0F-x-d{xmxmS+ML&( zl{Qt1!P7acs_vam+I}|sTJw!~%hpBJV$o#JZ(m}(IWfBYYU7kO1khri?PTJ-KXGbW zSaDa=VtqEoVq&}{F}k$0aa0!(U+ni$1JRiMT;kNUNScaXswN`77{fJ@?@5dwQpriHnLwXwCW!{Uk_<2*lc-kLaFdd9I-htRq!W4R9TBY~x-)m_pOVyP+=)U2)``vt~1=f zF4p*ZHn1#TJ4Z$T9#|J^XGNDP3}D%Ra)sgCx>%bM%PY?o!c#1jV6Qy;l6A2*CRV9T zK$ksvS0-MzF4h+&R>@|9<=DyD%m>%SdS+s2#gt^ip8X3(h4(LC7wd`&3j|@=JAYwf zy<%OgrzaM{+8#MP5m zx3G(^IX%AO4tQ7p8tloSLL>X6#6Q=_25~rRL$s$0K6dG4HUOw3l~C4J-ykY9Fov5Q+A7DtdF=q{*bH#Q?~uDZJM z$%)FT0y;(P>c~k@C1J$+QOmw;P(3HQ&he;3RbCrfSx-$aj`b_@ak_MkYjVL<1%$q`3bj}}S3sVem}rD@XynZvXnH)pb6>TPE}m;4 zv*MMLHj!P=?5>DBHtE9xpr<+$6uD*f5_=xeVOfIGYyD0fRC3;M>9y-4pOUEKTF`#Z z&{N7zd!FO*Lg%F&Ps^uJyU|`m?AN#zgho*02P%3#m^hauP8s)Myt2!l-rEaw<>b+c z2Q6(2Xid}aM2d&@0bM=0BvA@gI!SQ|Q?(T6s#gcQmhz=@#h%ofQs+YKWoUOja?K90 zGRCf|e0I(qI_;AaJ2V4LnmedK&|h}c6g<~89-sYXRhD*GPO|MfH%YuRZLVv4Vq(F4 z&R>weVH1iBD*_jWZLez?k4y|n1GB99$9XpVsuOdg<~Ds&kn4Tv9$D8oo{*fw{&JcJ zGfzL)lyTE2*b{cf?TLv6_uHO8Kcaq{v5V;3+w6#{#%N?sBc7e~^ohyI3u}Ir=32a4 z?7#UYuOErCw|*>fo>cXf)ne#*e;-wofui~(Gpv~?dU{2X<_RQD`)1nvvd`JZF;1#W?lR%Hf>8HO)L3j4>dTJuKC3IyzCo0nV5@N0oc}_ z`NlVuGoFN9RdW9=f(H_;s&tLGEvo*$pG)z0>JD+)eMykwi&h|V_6jyT`M zGtzQLHqL2Zo?}AYkJCe-4x6D~7fmnuE0BzHS#oh&obu~?SViMFFaG+ZN8`ZyTHrHRB0j<<{tq*J+!UFedn0ZS{wqzNy{F}ya>kbpaa^V&r*$%-w+ zlf@CTM`h>5m z5_>i2W=3Y5G|$gMec^Qdgy%ktPf#sKc|l8>YdLR^XX!l)S*Whfr!m#9;QyTpM~}Vs#~zQx5RE$<#RVZTm2#T7<6I zlXtb~TPyVY8#?Lz+2(W_NnO#elEbDJVkGCVw z;!UH&qg|szaaCH`nR-d{3ykHrSkN6#Y2XBGAk%rMZ7|e206BCl00}fyL0- z^C6?Os0OptthHbVHEr?*HZ;HZQ%;}sH#V$&hZ%1}P|PVgbE9X(weDq9b_IIDVjj{7 zrR8)V*57dNV*JmFh`G_hu+Q|UVBodw3u=W(KlTNsdWY8R3mWwfe(Z}mK=0tdzK~bm zsT#O1?62Oz$$c?T>m9MtzK|fjBO2KkI-_^kRGzMij`Ed9gH}nnzJndu5dBhB0e`LA z3+3(1p@p^HX?}70j%h;#T4G#%za6{{Gf%hhJ{rmhEuP?c1{*9=iRR*$y|| zzIm-(@wnT!WIG&o`+T;;YqxL8cDU|#swB7PXN&>-eV~z#WAWKb^D`um@sWIJoha`m zA<}K$OGZ>};=QCqGd=GmC(7;cUXrq-(Q4jHR#cPby`)8%T;5Awlto28B`>P=@?P{Q zJIZ^}r#cGnMW1RPycd1QSKAuAIJEf2&}=^8PnvDcS;wV6((<++29sh*=# z1`ouync=7q=`Q3~QcKoD)N9@2b3zt2jh?&qJ#59b@j3gMbf+}8P(C-hAt;7EXu7b* zYt3|RUiW_wz1|hrcr%K5O6H2E@z<57Qn4(bL#^U9tnz`d{ENZoL!o5{8`2U&ZBHZ-^=g6h2u1>?Pd2BGi-ev2NgrMO(Tf=oYiMV7NB@3+K&ZoM+4(P zGpB4cwX^) q`ksR35?AVUbIwpY5iL}GqTTT?@Bc4Fk7UgN literal 0 HcmV?d00001 -- 2.47.3