From 6274a216f87bad7d6fe9c9a1a4328dbf444fc364 Mon Sep 17 00:00:00 2001 From: Erez Zukerman Date: Tue, 26 Apr 2016 05:25:31 +0300 Subject: [PATCH] [Erez & Jack] Examples for advanced macro stuff --- README.md | 99 +- .../erez_experimental/erez_experimental.hex | 2156 +++++++++-------- .../keymaps/erez_experimental/keymap.c | 45 +- 3 files changed, 1230 insertions(+), 1070 deletions(-) diff --git a/README.md b/README.md index f5c271f165..749c97c8f1 100644 --- a/README.md +++ b/README.md @@ -211,6 +211,23 @@ This will clear all keys besides the mods currently pressed. If the user attempts to activate layer 1 AND layer 2 at the same time (for example, by hitting their respective layer keys), layer 3 will be activated. Layers 1 and 2 will _also_ be activated, for the purposes of fallbacks (so a given key will fall back from 3 to 2, to 1 -- and only then to 0). +#### Naming your macros + +If you have a bunch of macros you want to refer to from your keymap, while keeping the keymap easily readable, you can just name them like so: + +``` +#define AUD_OFF M(6) +#define AUD_ON M(7) +#define MUS_OFF M(8) +#define MUS_ON M(9) +#define VC_IN M(10) +#define VC_DE M(11) +#define PLOVER M(12) +#define EXT_PLV M(13) +``` + +As was done on the [Planck default keymap](/keyboard/planck/keymaps/default/keymap.c#L33-L40) + #### Timer functionality It's possible to start timers and read values for time-specific events - here's an example: @@ -227,11 +244,91 @@ if (timer_elapsed(key_timer) < 100) { It's best to declare the `static uint16_t key_timer;` outside of the macro block (top of file, etc). +#### Example 1: Single-key copy/paste (hold to copy, tap to paste) + +With QMK, it's easy to make one key do two things, as long as one of those things is being a modifier. :) So if you want a key to act as Ctrl when held and send the letter R when tapped, that's easy: `CTL_T(KC_R)`. But what do you do when you want that key to send Ctrl-V (paste) when tapped, and Ctrl-C (copy) when held? + +Here's what you do: + + +``` +static uint16_t key_timer; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case 0: { + if (record->event.pressed) { + key_timer = timer_read(); // if the key is being pressed, we start the timer. + } + else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down"). + if (timer_elapsed(key_timer) > 150) { // 150 being 150ms, the threshhold we pick for counting something as a tap. + return MACRO( D(LCTL), T(C), U(LCTL), END ); + } + else { + return MACRO( D(LCTL), T(V), U(LCTL), END ); + } + } + break; + } + } + return MACRO_NONE; +}; +``` + +And then, to assign this macro to a key on your keyboard layout, you just use `M(0)` on the key you want to press for copy/paste. + +#### Example 2: Space Cadet Shift (making it easy to send opening and closing parentheses) + +In the [Modern Space Cadet Keyboard](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/#shift-parentheses), one of cooler features is the Shift Parentheses. To quote Steve Losh: + + > When held while pressing other keys, act like Shift. + > When pressed and released on their own, type an opening or closing parenthesis (left and right shift respectively). + +``` +static uint16_t key_timer; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case 0: { + if (record->event.pressed) { + key_timer = timer_read(); // if the key is being pressed, we start the timer. + register_code(KC_LSFT); // we're now holding down Shift. + } else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down"). + if (timer_elapsed(key_timer) < 150) { // 150 being 150ms, the threshhold we pick for counting something as a tap. + register_code(KC_9); // sending 9 while Shift is held down gives us an opening paren + unregister_code(KC_9); // now let's let go of that key + } + unregister_code(KC_LSFT); // let's release the Shift key now. + } + break; + } + case 1: { + if (record->event.pressed) { + key_timer = timer_read(); // Now we're doing the same thing, only for the right shift/close paren key + register_code(KC_RSFT); + } else { + if (timer_elapsed(key_timer) < 150) { + register_code(KC_0); + unregister_code(KC_0); + } + unregister_code(KC_RSFT); + } + break; + } + } + return MACRO_NONE; +}; +``` + +And then, to assign this macro to a key on your keyboard layout, you just use `M(0)` on the key you want to press for left shift/opening parens, and `M(1)` for right shift/closing parens. + ## Additional keycode aliases for software-implemented layouts (Colemak, Dvorak, etc) Everything is assuming you're in Qwerty (in software) by default, but there is built-in support for using a Colemak or Dvorak layout by including this at the top of your keymap: - #include + #include If you use Dvorak, use `keymap_dvorak.h` instead of `keymap_colemak.h` for this line. After including this line, you will get access to: diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex b/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex index aa08845658..3af7ddbb8e 100644 --- a/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex +++ b/keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex @@ -1,18 +1,18 @@ -:100000000C9465020C94AC020C94AC020C94AC02FF -:100010000C94AC020C94AC020C94AC020C94AC02A8 -:100020000C94AC020C94AC020C94C30B0C94950C85 -:100030000C94AC020C94AC020C94AC020C94AC0288 -:100040000C94AC020C9409210C94AC020C94AC02FC -:100050000C94AC020C949B1A0C94AC020C94AC0261 -:100060000C94AC020C94AC020C94AC020C94AC0258 -:100070000C94AC020C94AC020C94AC020C94AC0248 -:100080000C94AC020C94AC020C94AC020C94AC0238 -:100090000C94AC020C94AC020C94AC020C94AC0228 -:1000A0000C94AC020C94AC020C94AC02020D240D26 -:1000B000170E240D170E690D8C0D170EE10DF40DA2 -:1000C000DE10DE100D110D1150118A1197139713C8 -:1000D000A3119713981298126B1397139713821307 -:1000E0000000F0A12E004C002A00E1003581000044 +:100000000C9465020C94A9020C94A9020C94A90208 +:100010000C94A9020C94A9020C94A9020C94A902B4 +:100020000C94A9020C94A9020C94A30C0C94750DC9 +:100030000C94A9020C94A9020C94A9020C94A90294 +:100040000C94A9020C9448220C94A9020C94A902C5 +:100050000C94A9020C94EC1B0C94A9020C94A90218 +:100060000C94A9020C94A9020C94A9020C94A90264 +:100070000C94A9020C94A9020C94A9020C94A90254 +:100080000C94A9020C94A9020C94A9020C94A90244 +:100090000C94A9020C94A9020C94A9020C94A90234 +:1000A0000C94A9020C94A9020C94A902DA0DFC0D7F +:1000B000E70EFC0DE70E3E0E610EE70EB60EC90E02 +:1000C000C211C2110312031245128112811481144C +:1000D00099128114901390135B14811481146F147E +:1000E0000000F0A12E004C002A00003035810000F5 :1000F0001E00140004001D7134004D001F001A0082 :1001000016001B00E104C1002000080007000600E3 :1001100050002C0021001500090019004F004A0072 @@ -22,7 +22,7 @@ :10015000240018000D74100052004B0025000C0004 :100160000E00360051002800260012000F00370054 :100170002F002B81270013003382387130004E008E -:100180002D0031003478E500C100000001000100BD +:100180002D00310034780130C10000000100010071 :1001900001000100010000003A001E0022002602BA :1001A000010001003B001F002300270201000100A5 :1001B0003C00200024002F004B0101003D002100E5 @@ -75,1047 +75,1085 @@ :1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2 :1004B000B39D87715D4A3A2C20170F0A060402018A :1004C0000000000000000000000011241FBECFEF5C -:1004D000DAE0DEBFCDBF04B603FE27C08091ED0198 -:1004E0009091EE01A091EF01B091F0018730904B17 -:1004F000A740B04BD1F41092ED011092EE01109292 -:10050000EF011092F00114BE84B7877F84BF0FB64D -:10051000F894A895809160008861809360001092A3 -:1005200060000FBEE0E0FFE3099511E0A0E0B1E05C -:10053000E4EBF5E402C005900D92A433B107D9F7BE -:1005400021E0A4E3B1E001C01D92AD3EB207E1F7A6 -:100550000E940A090C94D8220C94000061110BC06F -:10056000FC018281882321F085EE0E94780F03C070 -:1005700085EE0E94401080E090E00895089560911B -:10058000B1017091B2018091B3019091B4010E94C8 -:10059000C81956985E9825982D9826982E982798D1 -:1005A0002F98813019F0823021F00895259A2D9AE4 -:1005B0000895269A2E9A08950C94BF0256985E9834 -:1005C00025982D9826982E9827982F988FEF90E0B1 -:1005D000909389008093880090938B0080938A0089 -:1005E00090938D0080938C00259A2D9A2FEF80E7B1 -:1005F00092E0215080409040E1F700C00000269A30 -:100600002E9A2FEF80E792E0215080409040E1F752 -:1006100000C00000279A2F9A2FEF80E792E0215028 -:1006200080409040E1F700C0000025982D982FEF02 -:1006300080E792E0215080409040E1F700C0000048 -:1006400026982E982FEF80E792E02150804090402E -:10065000E1F700C0000027982F9856985E982598DB -:100660002D9826982E9827982F98089589EA809398 -:10067000800089E08093810024982C983F988AB16B -:100680008F748AB96E98479A8BB1806B8BB9769AC2 -:100690000E94DE020C94BE0280E2809300018091F1 -:1006A000340181110EC00E949B0381E080933401CC -:1006B0002FEF83ED90E3215080409040E1F700C0A0 -:1006C000000080E40E94A1038093000181112EC0EC -:1006D0000E94CB0380930001811128C00E94CB03AC -:1006E00080930001811122C08FE30E94CB0380938D -:1006F000000181111BC00E94C30380E40E94A1037A -:1007000080930001811112C08CE00E94CB03809382 -:10071000000181110BC00E94CB0380930001811165 -:1007200005C08FE30E94CB03809300010E94C303A6 -:100730008091000108951092B9008AE08093B8007A -:10074000089594EA9093BC009091BC0097FFFCCF71 -:100750009091B900987F983021F0903111F081E0AC -:1007600008958093BB0084E88093BC008091BC0016 -:1007700087FFFCCF8091B900887F883111F08034E9 -:1007800071F780E0089584E98093BC008091BC00FB -:1007900084FDFCCF08958093BB0084E88093BC0067 -:1007A0008091BC0087FFFCCF9091B900987F81E0D9 -:1007B000983209F480E0089584E88093BC00809129 -:1007C000BC0087FFFCCF8091BB00089580910001A1 -:1007D000811115C080E40E94A10380930001811162 -:1007E0000CC082E10E94CB0380930001811105C0FF -:1007F0008FEF0E94CB03809300010E94C30384B15A -:10080000807F84B985B1807F85B98AB1837F8AB9B9 -:100810008BB1837F8BB93E98469808950E944C0314 -:10082000809300010E94E60380B38C7080BB81B38B -:10083000836F81BBE4E4F1E0A6E3B1E011921D9285 -:1008400081E0E235F807D1F70C9436039F92AF921E -:10085000BF92CF92DF92EF92FF920F931F93CF93AD -:10086000DF9380910001882379F0809135018F5FBB -:1008700080933501811108C00E944C0380930001D0 -:10088000811102C00E94DE0286E3E82E81E0F82E8C -:100890008701C0E0D0E0BB24B39492E0A92ECC2421 -:1008A000C394D12CC730D10500F58091000181118E -:1008B00064C080E40E94A10380930001811112C0F2 -:1008C00082E10E94CB038093000181110BC0C6011D -:1008D0000C2E01C0880F0A94EAF780950E94CB0382 -:1008E000809300010E94C30348C0CA30A1F028F4DD -:1008F000C83059F0C93061F005C0CC3089F070F0D3 -:10090000CD3089F0209A289810C0219A29980DC0DE -:10091000229A2A980AC0239A2B9807C0529A01C09B -:10092000539A5B9802C03E9A4698E0EAEA95F1F73E -:100930008FB181708B25799902C032E001C030E01F -:10094000832B7C9902C034E001C030E0832B7D9979 -:1009500002C028E001C020E0822B7E9902C090E115 -:1009600001C090E0892B9FB19095991F9927991FFD -:100970009295990F907E892B0FC080910001811173 -:100980004AC080E40E94A10380930001882381F182 -:10099000912C0E94C303892DD8019C91981719F0BE -:1009A0008C93A09201010E94E60321960F5F1F4FD6 -:1009B000CE30D10509F076CF80910101882369F10D -:1009C000815080930101882339F0EFE9FFE03197EE -:1009D000F1F700C0000021C0E4E4F1E0D7018D91FF -:1009E0007D018193B4E4EB16B1E0FB06B9F715C0C5 -:1009F00083E10E94CB03809300018111C9CF81E480 -:100A00000E94A103809300018111C2CF0E94DC03E8 -:100A1000982E9094BECF80E0BFCF0E94DC0281E090 -:100A2000DF91CF911F910F91FF90EF90DF90CF90CA -:100A3000BF90AF909F900895E82FF0E0EC5BFE4FE1 -:100A40008081089508958B3B910580F4883A910543 -:100A500048F5853A9105D8F48430910508F0B2C084 -:100A6000019709F06EC081E090E00895803E910505 -:100A700008F467C0883E910508F4A4C09C01205F7B -:100A800031092031310508F05CC090650895853A40 -:100A9000910509F459C0863A910509F058C082E8D9 -:100AA00090E40895883A910509F454C0893A910573 -:100AB00009F453C08A3A910509F452C08B3A910562 -:100AC00009F451C08C3A910509F450C08D3A910552 -:100AD00009F44FC0803B910509F44EC08E3A910550 -:100AE00009F44DC08F3A910509F44CC0813B910542 -:100AF00009F44BC0823B910509F44AC0833B910540 -:100B000009F449C0843B910509F448C0853B91052F -:100B100009F447C0863B910509F446C0873B91051F -:100B200009F445C0883B910509F444C0893B91050F -:100B300009F443C08A3B910509F442C080E094E483 -:100B4000089580E090E0089581E890E4089583E8B6 -:100B500090E4089582EE94E4089589EE94E4089573 -:100B60008AEE94E4089585EB94E4089586EB94E48A -:100B7000089587EB94E408958CEC94E408958DEC4B -:100B800094E4089583E895E408958AE895E4089547 -:100B900082E995E4089584E995E4089581E296E474 -:100BA000089583E296E4089584E296E4089585E248 -:100BB00096E4089586E296E4089587E296E408951F -:100BC0008AE296E40895089524E5829FC0011124E5 -:100BD000FC0126E0729FE00DF11D1124E60FF11DCE -:100BE000EE0FFF1FEC51FF4F859194910895880FF0 -:100BF000991FFC01E05AF040859194910895880F67 -:100C0000991FFC01E052FF4F85919491089524E5CE -:100C1000829FC0011124FC0146E0749FE00DF11D8C -:100C20001124E60FF11DEE0FFF1FEC51FF4F8591D0 -:100C300094919C013A9521154FE1340708F425C1A0 -:100C40003F512115304120F49F700E94FF05089507 -:100C50009C0130532115304118F49927906C089568 -:100C6000811520E5920769F40E94B9134FEF84E3E0 -:100C70009CE0415080409040E1F700C000000C949F -:100C8000C01A813020E5920731F48091CC01816057 -:100C90008093CC0108959C0130552115304108F016 -:100CA0005CC0292F33272F70332721303105E9F419 -:100CB000AC0164E0440F551F6A95E1F74427537077 -:100CC000BC016370772702C0220F331F6A95E2F7D9 -:100CD0003C68242B352B73E0880F991F7A95E1F738 -:100CE00080769927822B932B08952230310529F4A1 -:100CF000982F8827816F906A089523303105A1F4D9 -:100D0000AC0133E0440F551F3A95E1F7407E577030 -:100D10008370992721E030E002C0220F331F8A95AB -:100D2000E2F7C9019C6816C02430310531F5AC01E9 -:100D300023E0440F551F2A95E1F7407E57708370DA -:100D4000992721E030E002C0220F331F8A95E2F795 -:100D5000C9019A68842B952B08959C013057211561 -:100D6000304118F49F70906208959C01305821150D -:100D7000304118F49F70906A0895803E9105E0F428 -:100D8000803C910558F58133910509F46FC048F412 -:100D90008932910509F463C08A32910509F46DC066 -:100DA00072C089339105E9F082389105D1F085331D -:100DB000910509F44DC067C0833E910581F138F477 -:100DC000803E9105B9F0823E9105D9F05CC0863E27 -:100DD000910561F1873E9105A1F155C00E94F7058B -:100DE00008952091DE0120FD02C021FF4CC080EE5D -:100DF00090E049C08091DE0180FFF9CF89E390E067 -:100E000042C08091DE0182FF0EC08091DE0184FF2E -:100E100003C080E090E037C083EE90E034C0809162 -:100E2000DE0182FFF2CF82EE90E02DC08091DE01E4 -:100E300083FF0BC08091DE0184FDEBCF87EE90E055 -:100E400022C08091DE0183FFF5CF86EE90E01BC0CB -:100E50008091DE0185FF07C089E290E014C0809197 -:100E6000DE0185FFF9CF85E390E00DC08091DE01C2 -:100E700086FF07C08AE290E006C08091DE0186FF0F -:100E8000F9CF81E390E00E942305089508958091B1 -:100E900062010895CF93DF9300D01F92CDB7DEB7E4 -:100EA0009C018091E401843019F593E099833B83A0 -:100EB0002A839093E9008FEF9091E800815095FD8F -:100EC00006C095ED9A95F1F700008111F5CF80915C -:100ED000E80085FF0DC040E050E063E070E0CE0127 -:100EE00001960E94B7098091E8008E778093E80010 -:100EF0000F900F900F90DF91CF910895CF93DF93D4 -:100F000000D01F92CDB7DEB72091E401243021F547 -:100F100022E029839B838A8383E08093E9008FEF1B -:100F20009091E800815095FD06C095ED9A95F1F7F6 -:100F300000008111F5CF8091E80085FF0DC040E0F1 -:100F400050E063E070E0CE0101960E94B709809105 -:100F5000E8008E778093E8000F900F900F90DF915C -:100F6000CF9108959C018091E4018430F9F482E0EE -:100F70008093E9009FEF8091E800915085FD06C0C5 -:100F800085ED8A95F1F700009111F5CF8091E80089 -:100F900085FF0CC040E050E065E070E0C9010E94B0 -:100FA000B7098091E8008E778093E8000895CF9389 -:100FB000DF93EC018091E401843009F046C0909108 -:100FC0000C019923D9F090910D019923B9F08093E8 -:100FD000E9008FEF9091E800815095FD06C095E102 -:100FE0009A95F1F700008111F5CF8091E80085FF17 -:100FF0002CC040E050E060E170E017C081E08093D9 -:10100000E9008FEF9091E800815095FD06C095EDC5 -:101010009A95F1F700008111F5CF8091E80085FFE6 -:1010200014C040E050E068E070E0CE010E94B709D3 -:101030008091E8008E778093E80080E1FE01A2E5D0 -:10104000B1E001900D928A95E1F7DF91CF9108957B -:101050008091E301811109C00E94480B0E94A50BF9 -:101060008091E20084608093E20008951092E30191 -:10107000089508950C94F6200E94561A0E94FC20B0 -:101080000E94500E0C94460742E061EC81E00E9401 -:10109000C10A42E061EC82E00E94C10A42E061ECD8 -:1010A00083E00E94C10A42E161EC84E00C94C10A31 -:1010B0008091E601833009F455C030F4813071F03D -:1010C000823009F48EC008958A3009F47AC08B30DA -:1010D00009F460C0893009F09CC020C08091E5010E -:1010E000813A09F096C08091E800877F8093E800FC -:1010F0008091E9019091EA01892B21F460E182E578 -:1011000091E003C060E080E090E070E00E94020A9D -:101110008091E8008B778093E80008958091E50145 -:10112000813209F076C08091E9019091EA0100973F -:1011300019F0039709F06DC08091E800877F8093D4 -:10114000E8008091E80082FD05C08091E4018111F2 -:10115000F8CF5FC08091F100809362018091E80038 -:101160008B7753C08091E501813A09F052C080919C -:10117000E9019091EA01892B09F04BC08091E800C8 -:10118000877F8093E8008091E80080FFFCCF80910A -:101190000C0136C08091E5018132D9F58091E901D9 -:1011A0009091EA01892BA9F58091E800877F8093CF -:1011B000E8000E94F60A8091E70180930C010C94EC -:1011C000B9138091E501813221F58091E800877F94 -:1011D0008093E8000E94F60A8091E8018093630101 -:1011E00008958091E501813AA1F48091E800877F1C -:1011F0008093E8008091E80080FFFCCF809163013C -:101200008093F1008091E8008E778093E8000C9441 -:10121000F60A089584B7877F84BF0FB6F894A8951F -:1012200080916000886180936000109260000FBE22 -:1012300090E080E80FB6F89480936100909361008D -:101240000FBE0E949F0E0E94480B0E94A50B80912A -:10125000E20084608093E20078940E94300E0E9445 -:10126000A10E82E091E00E944B0E0E94E42080914A -:10127000E401853069F40E94181A8091E201882304 -:10128000B1F30E94421A882391F30E94A109EFCF83 -:101290000E94A70EECCF292F332723303105C9F048 -:1012A00060F42130310581F02230310509F041C070 -:1012B0008DE690E020E133E040C021323105E1F0DD -:1012C0002232310531F135C082E190E02DE733E083 -:1012D00034C099278130910549F028F0029749F5EB -:1012E000ECEDF2E005C0ECE0F3E002C0E4EFF2E088 -:1012F000849190E09F0121C06430D8F4E62FF0E0A3 -:10130000EE0FFF1FEE5DFE4F2081318189E090E0FE -:1013100014C0643070F470E0FB01EE0FFF1FE65E56 -:10132000FE4F20813181FB01EA5EFE4F808190E01B -:1013300004C080E090E020E030E0FA0131832083B7 -:10134000089580E189BD82E189BD09B400FEFDCF29 -:101350008091D8008F7D8093D8008091E0008260DA -:101360008093E0008091E00081FDFCCF0895CF9252 -:10137000DF92EF92FF920F931F93CF93DF93EC01D5 -:101380008B016A010E94150B811133C0C114D10475 -:1013900039F0F60180819181081B190BC80FD91F04 -:1013A000E12CF12C0115110519F18091E80085FD62 -:1013B00016C08091E8008E778093E800C114D104B4 -:1013C00049F0F60180819181E80EF91EF182E082F8 -:1013D00085E00FC00E94150B882321F30AC0899174 -:1013E0008093F10001501109FFEFEF1AFF0ADACFE5 -:1013F00080E0DF91CF911F910F91FF90EF90DF90F0 -:10140000CF9008952091EB013091EC01261737071A -:1014100048F06115710539F42091E8002E7720938A -:10142000E80001C0B901FC0120E06115710579F106 -:101430008091E4018823F1F18530F1F18091E80099 -:1014400083FD3CC08091E80082FD2EC08091E800C1 -:1014500080FFEBCF2091F3008091F20090E0922B7F -:101460006115710551F08830910538F42191209370 -:10147000F100615071090196F3CF21E0089709F05E -:1014800020E08091E8008E778093E800CECF211194 -:10149000CFCF0AC08091E401882361F0853061F0EC -:1014A0008091E80083FD0AC08091E80082FFF2CFBE -:1014B00080E0089582E0089583E0089581E0089532 -:1014C0002091EB013091EC012617370748F06115A8 -:1014D000710539F42091E8002E772093E80001C0CF -:1014E000B901FC0120E06115710591F18091E401E1 -:1014F000882309F440C0853009F43FC08091E8009A -:1015000083FD3DC08091E80082FD2FC08091E800FE -:1015100080FFE9CF2091F3008091F20090E0922BC0 -:101520006115710559F08830910540F4249120939C -:10153000F1003196615071090196F2CF21E00897D0 -:1015400009F020E08091E8008E778093E800CBCF0F -:101550002111CCCF0AC08091E401882361F085304D -:1015600061F08091E80083FD0AC08091E80082FF6D -:10157000F2CF80E0089582E0089583E0089581E04D -:101580000895982F973068F59093E900981739F0EF -:101590007091EC002091ED005091F00003C0242FD9 -:1015A000762F50E021FD02C09F5FECCF3091EB0021 -:1015B0003E7F3093EB003091ED003D7F3093ED00A6 -:1015C0003091EB0031603093EB007093EC0020938E -:1015D000ED005093F0002091EE0027FDE5CF80E074 -:1015E00008958F708093E90081E008958091E5016E -:1015F00087FF11C08091E80082FD05C08091E40161 -:101600008111F8CF11C08091E8008B770BC08091D9 -:10161000E401882349F08091E80080FFF8CF8091B1 -:10162000E8008E778093E80008952091E4003091DF -:10163000E50095E64091EC00842F817040FF23C0C7 -:101640008091E80080FD1DC08091E401882399F01D -:10165000853099F08091EB0085FD11C04091E40048 -:101660005091E5002417350729F3915011F09A01A4 -:10167000E1CF84E0089582E0089583E0089581E059 -:10168000089580E008954091E80042FFDDCF08957D -:101690000E94B60B0E94BE0BE0EEF0E080818160FC -:1016A0008083E8EDF0E080818F77808319BCA7ED1F -:1016B000B0E08C918E7F8C9380818F7E808310929E -:1016C000E30108950F931F93CF93DF930E94B60B0E -:1016D0000E94BE0BC8EDD0E088818F778883888117 -:1016E0008068888388818F7D888319BC1092E4018B -:1016F0001092E0011092E2011092E10100EE10E080 -:10170000F80180818B7F808388818160888342E0BB -:1017100060E080E00E94C10AE1EEF0E080818E7F0F -:101720008083E2EEF0E08081816080838081886048 -:101730008083F80180818E7F8083888180618883A7 -:10174000DF91CF911F910F910895E8EDF0E0808136 -:101750008F7E8083E7EDF0E080818160808384E08C -:1017600082BF81E08093E3010C94620BE8EDF0E02E -:1017700080818E7F80831092E20008951092DA00BB -:101780001092E10008951F920F920FB60F9211244C -:101790002F933F934F935F936F937F938F939F9379 -:1017A000AF93BF93EF93FF938091E10082FF0BC053 -:1017B0008091E20082FF07C08091E1008B7F8093DF -:1017C000E1000E942F0E8091DA0080FF1FC08091FF -:1017D000D80080FF1BC08091DA008E7F8093DA00F2 -:1017E0008091D90080FF0DC080E189BD82E189BD73 -:1017F00009B400FEFDCF81E08093E4010E94280837 -:1018000005C019BC1092E4010E9436088091E100E5 -:1018100080FF19C08091E20080FF15C08091E20036 -:101820008E7F8093E2008091E20080618093E200ED -:101830008091D80080628093D80019BC85E08093A5 -:10184000E4010E943A088091E10084FF30C0809159 -:10185000E20084FF2CC080E189BD82E189BD09B42A -:1018600000FEFDCF8091D8008F7D8093D8008091BD -:10187000E1008F7E8093E1008091E2008F7E809373 -:10188000E2008091E20081608093E2008091E001BB -:10189000882311F084E007C08091E30087FD02C037 -:1018A00081E001C083E08093E4010E943C088091C4 -:1018B000E10083FF29C08091E20083FF25C0809171 -:1018C000E100877F8093E10082E08093E401109241 -:1018D000E0018091E1008E7F8093E1008091E20041 -:1018E0008E7F8093E2008091E20080618093E2002D -:1018F00042E060E080E00E94C10A8091F0008860D0 -:101900008093F0000E943908FF91EF91BF91AF9151 -:101910009F918F917F916F915F914F913F912F9107 -:101920000F900FBE0F901F9018951F920F920FB639 -:101930000F9211242F933F934F935F936F937F9355 -:101940008F939F93AF93BF93CF93DF93EF93FF93C7 -:10195000C091E900CF708091EC00D82FD17080FD4C -:10196000D0E81092E9008091F000877F8093F0002A -:1019700078940E94D90C1092E9008091F000886060 -:101980008093F000CD2BCF70C093E900FF91EF91D1 -:10199000DF91CF91BF91AF919F918F917F916F9187 -:1019A0005F914F913F912F910F900FBE0F901F901D -:1019B00018951F93CF93DF93CDB7DEB7AA970FB6D5 -:1019C000F894DEBF0FBECDBFE5EEF1E08091F100EF -:1019D000819321E0ED3EF207C9F70E9458088091FB -:1019E000E80083FF24C18091E5019091E601492F31 -:1019F00050E04A30510508F01AC1FA01EA5AFF4F87 -:101A00000C948D22803881F0823809F010C18091C9 -:101A1000E9018F708093E9008091EB0085FB8827B6 -:101A200080F91092E90006C08091E1019091E201F5 -:101A3000911182609091E800977F9093E8008093E5 -:101A4000F1001092F100C8C0282F2D7F09F0EFC0DF -:101A5000882319F0823061F0EAC08091E70181307B -:101A600009F0E5C0933009F080E08093E2012BC0DB -:101A70008091E701811127C08091E9018F7009F4FD -:101A8000D6C08093E9002091EB0020FF1CC093306A -:101A900021F48091EB00806214C09091EB00906182 -:101AA0009093EB0021E030E0A90102C0440F551FE4 -:101AB0008A95E2F74093EA001092EA008091EB00E9 -:101AC00088608093EB001092E9008091E800877FA6 -:101AD00086C08111ACC01091E7011F778091E300AF -:101AE0008078812B8093E3008091E800877F80934A -:101AF000E8000E94F60A8091E80080FFFCCF809108 -:101B0000E30080688093E300111102C082E001C00D -:101B100083E08093E4018BC08058823008F087C056 -:101B20008091E7019091E8018C3D53E0950779F5AC -:101B300083E08A838AE289834FB7F894DE011396A3 -:101B400020E03EE051E2E32FF0E050935700E491B3 -:101B500020FF03C0E295EF703F5FEF708E2F90E0A3 -:101B6000EA3010F0C79601C0C0968D939D932F5F09 -:101B7000243149F74FBF8091E800877F8093E800C8 -:101B80006AE270E0CE0101960E94020A14C0AE0122 -:101B90004F5F5F4F6091E9010E944B09BC01892BA7 -:101BA00009F445C09091E800977F9093E8008981FF -:101BB0009A810E94600A8091E8008B778093E80008 -:101BC00036C08038A1F58091E800877F8093E800D7 -:101BD0008091E0018093F1008091E8008E778093FE -:101BE000E8000E94F60A23C0811121C08091E7011C -:101BF0009091E80199270297D4F48091E800877FBB -:101C00008093E8008091E7018093E0010E94F60A4A -:101C10008091E001811106C08091E30087FD02C040 -:101C200081E001C084E08093E4010E944408809137 -:101C3000E80083FF0AC08091E800877F8093E80076 -:101C40008091EB0080628093EB00AA960FB6F89427 -:101C5000DEBF0FBECDBFDF91CF911F9108950895D4 -:101C6000CF938091E4018823A1F0C091E900CF7067 -:101C70009091EC00892F817090FD80E8C82B109224 -:101C8000E9008091E80083FD0E94D90CCF70C093D9 -:101C9000E900CF91089590936901809368010895B8 -:101CA000E0916801F0916901309721F00190F08195 -:101CB000E02D099480E00895E0916801F0916901B8 -:101CC000309721F00280F381E02D09940895E0918E -:101CD0006801F0916901309721F00480F581E02DD1 -:101CE00009940895209166013091670128173907FA -:101CF00071F09093670180936601E0916801F09123 -:101D00006901309721F00680F781E02D099408954C -:101D100020916401309165012817390771F0909383 -:101D2000650180936401E0916801F0916901309749 -:101D300021F00084F185E02D0994089508950C9414 -:101D40009E0E0E945C1A0E940E040C94221BCF92DD -:101D5000DF92EF92FF920F931F93CF93DF93CDB754 -:101D6000DEB72B970FB6F894DEBF0FBECDBF0E9433 -:101D700026048BE6C82E81E0D82E00E010E0E02E8D -:101D8000802F0E941C05F60141916F01F82EF42668 -:101D9000B1F40F5F1F4F0E30110589F78FEF898364 -:101DA0008A831B820E94651A8160782F9D838C83B1 -:101DB00049815A816B818D810E944A0F40C0909168 -:101DC000CC0191FF04C08B870E9422058B8520E007 -:101DD00030E04F2D50E0922FBA01022E02C07595CF -:101DE00067950A94E2F760FF24C02E83EF8221E01A -:101DF00030E0690102C0CC0CDD1C9A95E2F790E05E -:101E00008C219D21892B09F420E028870E94651AE6 -:101E10008160782F9A8789874E815F8168858A855E -:101E20000E944A0FF801E559FE4F8081C826C08202 -:101E300006C02F5F3F4F2630310569F6AACF0E94BA -:101E4000091E0E94500E90916A018917A1F00E940C -:101E5000500E80936A012B960FB6F894DEBF0FBE2A -:101E6000CDBFDF91CF911F910F91FF90EF90DF9049 -:101E7000CF900C9446072B960FB6F894DEBF0FBE9A -:101E8000CDBFDF91CF911F910F91FF90EF90DF9029 -:101E9000CF900895CF93DF93CDB7DEB72B970FB6D2 -:101EA000F894DEBF0FBECDBF4F83588769877A870E -:101EB0008B87DE01119686E0FD0111928A95E9F784 -:101EC00085E0FE01379601900D928A95E1F74981F0 -:101ED0005A816B817C818D819E810E944D162B964B -:101EE0000FB6F894DEBF0FBECDBFDF91CF9108953E -:101EF000CF93C82F882309F4C1C0823859F40E94B7 -:101F0000500E81FDBBC089E30E94EA180E94A2190D -:101F100089E30CC0833879F40E94500E80FDAEC076 -:101F200083E50E94EA180E94A21983E50E942919FC -:101F3000CF910C94A219843859F40E94500E82FD5E -:101F40009DC087E40E94EA180E94A21987E4EECFA0 -:101F50008CEF8C0F813A48F48C2F0E94492081111C -:101F60008DC08C2F0E94EA18E3CF80E28C0F88305E -:101F700048F4C77081E001C0880FCA95EAF70E9453 -:101F80006B19D6CF8BE58C0F833078F4C53A29F0E6 -:101F9000C63A31F083E890E005C081E890E002C0E5 -:101FA00082E890E0CF910C94720E88E58C0F83311B -:101FB00008F064C0C83A39F1C93A41F1CA3A49F166 -:101FC000CB3A51F1CC3A59F1CD3A61F1C03B69F1CC -:101FD000CE3A71F1CF3A79F1C13B81F1C23B89F13F -:101FE000C33B91F1C43B99F1C53BA1F1C63BA9F1BB -:101FF000C73BB1F1C83BB9F1C93BC1F1CA3BC9F11B -:1020000080E090E038C082EE90E035C089EE90E04C -:1020100032C08AEE90E02FC085EB90E02CC086EBBA -:1020200090E029C087EB90E026C08CEC90E023C0C4 -:102030008DEC90E020C083E891E01DC08AE891E03B -:102040001AC082E991E017C084E991E014C081E2EE -:1020500092E011C083E292E00EC084E292E00BC0F5 -:1020600085E292E008C086E292E005C087E292E055 -:1020700002C08AE292E0CF910C94880ECF9108952D -:10208000882309F44BC0823859F40E94500E81FF16 -:1020900045C089E30E94EA180E94A21989E30CC096 -:1020A000833871F40E94500E80FF38C083E50E948F -:1020B000EA180E94A21983E50E9429190C94A2191A -:1020C000843859F40E94500E82FF28C087E40E9491 -:1020D000EA180E94A21987E4EFCF9CEF980F913A7B -:1020E00058F390E2980F983050F4877091E001C057 -:1020F000990F8A95EAF7892F0E947119DFCF9BE526 -:10210000980F933020F480E090E00C94720E885A7F -:10211000833120F480E090E00C94880E08958823A9 -:1021200021F00E946B190C94A2190895882321F0C4 -:102130000E9471190C94A2190895BF92CF92DF9258 -:10214000EF92FF920F931F93CF93DF9300D000D0B5 -:1021500000D0CDB7DEB77C0185E0F701DE01119636 -:1021600001900D928A95E1F7F70183819481892B83 -:1021700009F4DDC2908181818F3F19F49F3F09F4FA -:10218000D6C2F7010281258122952F7099838A8317 -:1021900089819A812E830E94A918182FB92E0E9436 -:1021A000A8180E946F17EB2DE295EF704E2F50E0AC -:1021B000FA01E05AFF4F2E810C948D228B2D807FE7 -:1021C0009B2D9F70F92E882319F0F29480EFF8224E -:1021D000002349F0FF2009F457C28F2D0E947B197C -:1021E0000E94A21951C2812F0E944010FF2009F4C1 -:1021F0009EC28F2D0E94811926960FB6F894DEBFDD -:102200000FBECDBFDF91CF911F910F91FF90EF9047 -:10221000DF90CF90BF900C94A2193B2D307F8B2D77 -:102220008F70303211F08295807F112319F01130B8 -:1022300021F12CC00023B9F0222309F490C12130F0 -:1022400009F08DC126960FB6F894DEBF0FBECDBF44 -:10225000DF91CF911F910F91FF90EF90DF90CF9082 -:10226000BF900C948B19222319F0213009F45FC21E -:102270008E830E948E198E8186C1002321F0223028 -:1022800008F055C26CC1211152C27DC1002321F05A -:10229000222309F464C1F8C1222309F474C109C2DC -:1022A0008B2D86958695837019F08130D1F03FC2D1 -:1022B000002321F0812F9B2D937002C080E090E0DD -:1022C00026960FB6F894DEBF0FBECDBFDF91CF913B -:1022D0001F910F91FF90EF90DF90CF90BF900C94E3 -:1022E000720E002321F0812F9B2D937002C080E09D -:1022F00090E026960FB6F894DEBF0FBECDBFDF91FB -:10230000CF911F910F91FF90EF90DF90CF90BF90F2 -:102310000C94880E812F002319F00E94111D02C019 -:102320000E94791D26960FB6F894DEBF0FBECDBF72 -:10233000DF91CF911F910F91FF90EF90DF90CF90A1 -:10234000BF900C94FE1D8B2D837009F075C0011198 -:10235000EEC1812F829586958770880F880F912F07 -:102360009F70C92ED12CE12CF12C082E04C0CC0C6E -:10237000DD1CEE1CFF1C0A94D2F714FF12C00FE004 -:1023800010E020E030E004C0000F111F221F331FB7 -:102390008A95D2F7C901B80160957095809590959E -:1023A00003C060E070E0CB014B2D4695469543702D -:1023B0004230C1F060F56C297D298E299F2941307A -:1023C00051F126960FB6F894DEBF0FBECDBFDF9158 -:1023D000CF911F910F91FF90EF90DF90CF90BF9022 -:1023E0000C9496176C297D298E299F2926960FB665 -:1023F000F894DEBF0FBECDBFDF91CF911F910F913B -:10240000FF90EF90DF90CF90BF900C94B2170E9496 -:102410009617C701B60126960FB6F894DEBF0FBE19 -:10242000CDBFDF91CF911F910F91FF90EF90DF9083 -:10243000CF90BF900C947A17002319F08B2D8170E8 -:1024400001C08695882309F472C1812F82958695F3 -:102450008770880F880F912F9F70C92ED12CE12C87 -:10246000F12C082E04C0CC0CDD1CEE1CFF1C0A94C1 -:10247000D2F714FF12C00FE010E020E030E004C0FB -:10248000000F111F221F331F8A95D2F7C901B8010F -:10249000609570958095909503C060E070E0CB01E9 -:1024A0004B2D4695469543704230C1F060F56C293E -:1024B0007D298E299F29413051F126960FB6F89437 -:1024C000DEBF0FBECDBFDF91CF911F910F91FF9067 -:1024D000EF90DF90CF90BF900C9470186C297D29FD -:1024E0008E299F2926960FB6F894DEBF0FBECDBF6A -:1024F000DF91CF911F910F91FF90EF90DF90CF90E0 -:10250000BF900C948C180E947018C701B6012696D3 -:102510000FB6F894DEBF0FBECDBFDF91CF911F91F4 -:102520000F91FF90EF90DF90CF90BF900C945418D4 -:10253000103FD1F118F4103E50F4A1C0123F09F43D -:1025400063C008F44CC0133F09F473C098C01F70F7 -:102550008B2D8F710023A1F00E94ED17812F2696FD -:102560000FB6F894DEBF0FBECDBFDF91CF911F91A4 -:102570000F91FF90EF90DF90CF90BF900C948F1051 -:102580000E940E18812F26960FB6F894DEBF0FBE5C -:10259000CDBFDF91CF911F910F91FF90EF90DF9012 -:1025A000CF90BF900C9496100023A9F02111BFC0CA -:1025B0008B2D8F7126960FB6F894DEBF0FBECDBF60 -:1025C000DF91CF911F910F91FF90EF90DF90CF900F -:1025D000BF900C943318223008F0A9C0E9CF002333 -:1025E000A9F08B2D8F7126960FB6F894DEBF0FBE23 -:1025F000CDBFDF91CF911F910F91FF90EF90DF90B2 -:10260000CF90BF900C94ED17002359F38B2D8F7151 -:1026100026960FB6F894DEBF0FBECDBFDF91CF91E7 -:102620001F910F91FF90EF90DF90CF90BF900C948F -:102630000E18002399F08B2D8F7126960FB6F89403 -:10264000DEBF0FBECDBFDF91CF911F910F91FF90E5 -:10265000EF90DF90CF90BF900C94D81726960FB6CE -:10266000F894DEBF0FBECDBFDF91CF911F910F91C8 -:10267000FF90EF90DF90CF90BF900C94CE17002387 -:10268000A9F0222309F4ADCF812F26960FB6F89436 -:10269000DEBF0FBECDBFDF91CF911F910F91FF9095 -:1026A000EF90DF90CF90BF900C94780F222309F425 -:1026B000ADCF812F26960FB6F894DEBF0FBECDBFEB -:1026C000DF91CF911F910F91FF90EF90DF90CF900E -:1026D000BF900C9440104B2D4F70612FC7010E948A -:1026E000AE0226960FB6F894DEBF0FBECDBFDF91C7 -:1026F000CF911F910F91FF90EF90DF90CF90BF90FF -:102700000C94F2164B2D4F70612FC70126960FB611 -:10271000F894DEBF0FBECDBFDF91CF911F910F9117 -:10272000FF90EF90DF90CF90BF900C94E30526963A -:102730000FB6F894DEBF0FBECDBFDF91CF911F91D2 -:102740000F91FF90EF90DF90CF90BF9008950E947F -:1027500088190E945D190E94A2190E94AE1E0E9453 -:10276000FE1D80E090E00E94720E80E090E00C94EC -:10277000880E0E9478190C94A7130E94A918292F7B -:1027800022952F702C3030F42A3048F42250223019 -:1027900078F405C02C3041F02F3031F009C0803E74 -:1027A00048F0803F29F406C093FB882780F90895FC -:1027B00080E0089581E00895CF93DF9300D000D0AA -:1027C0001F92CDB7DEB70F900F900F900F900F9024 -:1027D000DF91CF910895CF93DF9300D000D000D048 -:1027E000CDB7DEB726960FB6F894DEBF0FBECDBFCD -:1027F000DF91CF9108951F93CF93DF93C09179011B -:1028000016E080917A01C81799F0D0E01C9FF00182 -:102810001D9FF00D1124E558FE4F408151816281CA -:102820007381848195810E94EB132196C770E9CF53 -:10283000DF91CF911F9108954091AB015091AC0170 -:102840006091AD017091AE018091AF019091B001A6 -:102850000C94EB138091B00182958F7009F054C0F5 -:102860008091AD01882309F44FC080917901A09136 -:102870007A014091AE015091AF016091AB0170912E -:10288000AC01B6E08A1709F43FC090E0411551054C -:10289000C1F17F3F11F46F3FA1F1B89FF001B99FE3 -:1028A000F00D1124E558FE4F218127132AC0208105 -:1028B000261327C02281211124C0238134812417AB -:1028C000350710F421503109241B350B283C310504 -:1028D000C0F42091B0012F7020612093B00126E058 -:1028E000289FF001299FF00D1124E058FE4F8081B0 -:1028F0008F70806180838BEA91E00E949D100C9420 -:10290000FB1301968770BECF0895CF92DF92EF92AE -:10291000FF920F931F93CF93DF93CDB7DEB76297EC -:102920000FB6F894DEBF0FBECDBF8C0185E0F80175 -:10293000DE011D9601900D928A95E1F7D8014C9128 -:1029400011965C91119712966C918091AE019091C5 -:10295000AF01009709F475C13091AB017091AC01E2 -:102960007F3F19F43F3F09F46CC1F801C380D48064 -:10297000E090AD01EE2009F4BEC02091B001C81670 -:10298000D90628F0D601A81BB90BCD0104C080954B -:1029900090958C0D9D1DFF24F394883C910578F053 -:1029A000F12C207F09F0C4C07C2DD98AC88A89897E -:1029B0000E94DC138BEA91E00E949D10AFC0822F31 -:1029C000807F09F045C0571313C0431311C0611134 -:1029D0000FC02F7020612093B0010E941C148BEA5D -:1029E00091E00E949D108091B001F80185832EC076 -:1029F000CD2819F15F3F11F44F3FF9F0F62E611128 -:102A00001CC08091790120917A0136E0821709F487 -:102A10005BC090E0389FF001399FF00D1124E5581C -:102A2000FE4F7181571306C07081471303C0728136 -:102A3000711103C001968770E9CFF62E662309F461 -:102A40001CC18091B00181608093B001F12C15C14F -:102A5000571309C0431307C0611105C08091B0012D -:102A6000F8018583C8C04D875E878D859E856A8BFA -:102A70000E94BD136A898823D1F16623C1F1209198 -:102A8000B001822F82958F7090E0029774F0809150 -:102A9000AB019091AC0198878F831986DB86CA863B -:102AA0002C87CE0107960E949D1086E0F801ABEAC4 -:102AB000B1E001900D928A95E1F70E942A140E94DC -:102AC0001C14FF24F394D9C04D875E878D859E85A5 -:102AD0000E94A918292F22952F70223008F0C1C01A -:102AE0009F7009F0BBC0805E883008F4C6C0C80182 -:102AF0000E949D10E6CFC816D90608F453C0F6010F -:102B0000E81BF90BCF01883C910508F450C0F12C6B -:102B10007C2DD98AC88A89890E94DC13EBEAF1E00E -:102B200086E0DF011D928A95E9F70E941C14A5C07A -:102B3000571314C0431312C0611110C08091B0012B -:102B4000F8018583C8010E949D1086E0EBEAF1E060 -:102B5000DF011D928A95E9F7FE2C8FC04D875E87B5 -:102B60008D859E856A8B0E94BD136A89882309F42E -:102B7000BECF662309F4BBCF2091B001822F82958E -:102B80008F7090E002970CF490CF8091AB01909100 -:102B9000AC019A8389831B82DD82CC822E83CE0195 -:102BA000019681CF809590958C0D9D1DACCFF62E12 -:102BB000662309F49CCF571333C0431331C02091CF -:102BC000B00120FD24C0822F82958F70482F50E0E5 -:102BD00041155105E1F0D80115962C9315974F300A -:102BE000510549F08F5F982F9295907F822F8F70BB -:102BF000892B15968C93C8010E949D1086E0F801E0 -:102C0000ABEAB1E001900D928A95E1F78ECF86E0B4 -:102C1000F801ABEAB1E001900D928A95E1F72DC081 -:102C20004D875E878D859E850E94BD1381113DCFA6 -:102C30008091B00181608093B001C8010E949D1015 -:102C40001CC0662309F453CF4D875E878D859E8512 -:102C50000E94BD13882309F44ACF27CF811143CFA7 -:102C60000CC0243008F043CF9F7009F43CCFD8014A -:102C700015969C91907F09F036CF8F2D62960FB6F6 -:102C8000F894DEBF0FBECDBFDF91CF911F910F91A2 -:102C9000FF90EF90DF90CF9008951F93CF93DF9335 -:102CA000CDB7DEB72C970FB6F894DEBF0FBECDBF01 -:102CB0004F83588769877A878B879C87CE010796D1 -:102CC0000E948514882371F08A859B85892B09F4DD -:102CD00041C088858F3F09F065C08F818F3F09F023 -:102CE00061C038C086E0FE013796DE011196019082 -:102CF0000D928A95E1F76A857B856115710551F121 -:102D0000FF81E885EF3F11F4FF3F21F120917A0127 -:102D100030E0C9010196877099274091790150E010 -:102D20008417950709F447C0F983EA837D836C8390 -:102D300096E0929FD001939FB00D1124A558BE4FED -:102D4000FE01319601900D929A95E1F780937A01F8 -:102D50000E94FB1316E08091790190917A01891706 -:102D6000B9F1189FC001112485589E4F0E94851407 -:102D7000882371F1E09179011E9FF0011124E5583B -:102D8000FE4F4081518162817381848195810E94CF -:102D9000EB138091790190E00196877099278093D9 -:102DA0007901D9CF4F81588569857A858B859C8536 -:102DB0000E94EB13CFCF0E94B91310927A011092A8 -:102DC0007901EBEAF1E086E0DF011D928A95E9F7EF -:102DD0002C960FB6F894DEBF0FBECDBFDF91CF911A -:102DE0001F910895EF92FF920F931F93CF93DF935C -:102DF0008C01892B09F46CC0F12CEE24E394E801DA -:102E00002196F8018491843740F4843008F051C051 -:102E1000813081F0823019F15BC0853709F444C0FC -:102E2000A8F19CE7980F903708F052C08F770E9466 -:102E3000401041C00E5F1F4FFE01849190E2980F39 -:102E4000983050F48770FE2D01C0FF0F8A95EAF785 -:102E50008F2F0E947B1914C00E94780F2DC00E5F27 -:102E60001F4FFE01849190E2980F983060F48770B4 -:102E7000FE2D01C0FF0F8A95EAF78F2F0E9481195E -:102E80000E94A21919C00E94401016C00E5F1F4F69 -:102E9000FE01C491CC2381F08FE99FE00197F1F707 -:102EA00000C00000C150F6CF0E5F1F4FFE01F4902E -:102EB00003C00E94780F8E018F2D882309F49FCFC5 -:102EC000EFE9FFE03197F1F700C000008150F5CF46 -:102ED000DF91CF911F910F91FF90EF90089508958A -:102EE0006093B5017093B6018093B7019093B801D8 -:102EF0000C94A7130F931F930091B5011091B60185 -:102F00002091B7013091B801DC01CB01802B912BCE -:102F1000A22BB32B8093B5019093B601A093B70178 -:102F2000B093B8011F910F910C94A7130F931F93A7 -:102F30000091B5011091B6012091B7013091B8010F -:102F4000DC01CB0180239123A223B3238093B5011D -:102F50009093B601A093B701B093B8011F910F9160 -:102F60000C94A7130F931F930091B5011091B60114 -:102F70002091B7013091B801DC01CB018027912766 -:102F8000A227B3278093B5019093B601A093B70110 -:102F9000B093B8011F910F910C94A7131092B10137 -:102FA0001092B2011092B3011092B4010C94A713C5 -:102FB00041E050E060E070E004C0440F551F661F20 -:102FC000771F8A95D2F74093B1015093B201609375 -:102FD000B3017093B4010C94A71341E050E060E09A -:102FE00070E004C0440F551F661F771F8A95D2F703 -:102FF0008091B1019091B201A091B301B091B4015F -:10300000482B592B6A2B7B2B4093B1015093B20173 -:103010006093B3017093B4010C94A71341E050E0A6 -:1030200060E070E004C0440F551F661F771F8A954B -:10303000D2F740955095609570958091B10190912F -:10304000B201A091B301B091B401482359236A237E -:103050007B234093B1015093B2016093B30170930D -:10306000B4010C94A71341E050E060E070E004C0AC -:10307000440F551F661F771F8A95D2F78091B101C3 -:103080009091B201A091B301B091B40148275927A2 -:103090006A277B274093B1015093B2016093B3013B -:1030A0007093B4010C94A7130F931F930091B10177 -:1030B0001091B2012091B3013091B401DC01CB0138 -:1030C000802B912BA22BB32B8093B1019093B20153 -:1030D000A093B301B093B4011F910F910C94A71367 -:1030E0000F931F930091B1011091B2012091B30190 -:1030F0003091B401DC01CB0180239123A223B323BF -:103100008093B1019093B201A093B301B093B40145 -:103110001F910F910C94A7130F931F930091B1016E -:103120001091B2012091B3013091B401DC01CB01C7 -:1031300080279127A227B3278093B1019093B201F2 -:10314000A093B301B093B4011F910F910C94A713F6 -:103150000895CF92DF92EF92FF920F931F93CF9338 -:10316000DF938C01C090B101D090B201E090B30127 -:10317000F090B4018091B5019091B601A091B70192 -:10318000B091B801C82AD92AEA2AFB2ACFE1D0E0B7 -:10319000D701C6010C2E04C0B695A79597958795C3 -:1031A0000A94D2F780FF07C0B8018C2F0E9407064F -:1031B0008130910531F4219758F7B80180E00E94E1 -:1031C0000706DF91CF911F910F91FF90EF90DF9055 -:1031D000CF90089590910C019923F1F090910D01F9 -:1031E0009923D1F0982F9695969596959F3080F5D6 -:1031F000E0910E01F0910F01E90FF11D877021E0C0 -:1032000030E0A90102C0440F551F8A95E2F7CA01B8 -:103210009181892B8183089520910E0130910F01B6 -:10322000F90132969FEF40E05191851789F09F3F59 -:1032300019F4511101C0942F4F5F4E30A9F79F3FF1 -:1032400039F0F901E90FF11D97FDFA958283089590 -:10325000089590910C019923F9F090910D01992313 -:10326000D9F0982F9695969596959F3028F5E091F0 -:103270000E01F0910F01E90FF11D877021E030E0A0 -:10328000A90102C0440F551F8A95E2F7CA01809533 -:10329000918189238183089520910E0130910F013E -:1032A000F9013296205F3F4F9081891301C010824F -:1032B0003196E217F307C1F7089581E090E0E091BD -:1032C0000E01F0910F01E80FF91F10820196803175 -:1032D0009105A9F708959091CB01892B8093CB019B -:1032E000089580959091CB0189238093CB01089517 -:1032F0001092CB0108959091CA01892B8093CA0145 -:10330000089580959091CA0189238093CA010895F8 -:103310001092CA0108958093B90108951092B901DD -:10332000089580910E0190910F01FC0131969C014E -:10333000205F3F4F80E0919191118F5FE217F3077B -:10334000D1F70895E0910E01F0910F018091CB012A -:103350008083E0910E01F0910F0190818091CA016C -:10336000892B80838091B901882361F0E0910E015F -:10337000F0910F019081892B80830E949119811116 -:103380001092B90180910E0190910F010C945C0E86 -:10339000CF92DF92EF92FF926C01EE24FF24C114D2 -:1033A000D104E104F10421F0C701B60120E101C01C -:1033B00020E0C72ED82EE92EFF24C114D104E10449 -:1033C000F10419F0285FC701B6016B017C0154E0DC -:1033D000F694E794D794C7945A95D1F7C114D104C1 -:1033E000E104F10419F02C5FC701B6016B017C0107 -:1033F00042E0F694E794D794C7944A95D1F7C11464 -:10340000D104E104F10419F02E5FC701B601DC011B -:10341000CB01B695A79597958795892B8A2B8B2BF2 -:1034200009F02F5F822FFF90EF90DF90CF900895EB -:103430008091E401843011F120E488E190E00FB63E -:10344000F894A895809360000FBE2093600083B726 -:10345000817F846083BF83B7816083BF78948895C0 -:1034600083B78E7F83BF0FB6F894A89580916000D4 -:10347000886180936000109260000FBE08950895E7 -:103480000C943F1ACF930E94401A0E9426040E9477 -:103490003F1AC0E08C2F0E941C05811104C0CF5F31 -:1034A000CE30C1F701C081E0CF9108950E94B913D9 -:1034B0000E94500E0C94460782E084BD93E095BDB7 -:1034C0009AEF97BD80936E0008952FB7F89480917E -:1034D000CD019091CE01A091CF01B091D0012FBF2D -:1034E0000895CF92DF92EF92FF920F931F932FB721 -:1034F000F8944091CD015091CE016091CF0170912F -:10350000D0012FBF6A017B01EE24FF248C0120E053 -:1035100030E0C016D106E206F30610F4415051091E -:103520009A01281B390BC9011F910F91FF90EF9051 -:10353000DF90CF9008951F920F920FB60F92112433 -:103540008F939F93AF93BF938091CD019091CE01C4 -:10355000A091CF01B091D0010196A11DB11D809322 -:10356000CD019093CE01A093CF01B093D001BF9134 -:10357000AF919F918F910F900FBE0F901F90189554 -:103580000E94480BF8942FEF87EA91E62150804083 -:103590009040E1F700C0000087E090EBDC018093F1 -:1035A000ED019093EE01A093EF01B093F0019CE048 -:1035B00088E10FB6F894A895809360000FBE9093B1 -:1035C0006000FFCFEF92FF920F931F93CF93DF9393 -:1035D000D82FC0E08C2F0E941C0500E010E0E82EE0 -:1035E000F12CC701002E02C0959587950A94E2F749 -:1035F00080FD06C00F5F1F4F0630110591F709C00F -:10360000602F7C2F80E00E94E4058D13F3CF81E0D2 -:1036100004C0CF5FCE30F1F680E0DF91CF911F91F3 -:103620000F91FF90EF900895CF93C82F8CE20E94E6 -:10363000E21A882321F08C2FCF910C94E21A80E0BB -:10364000CF910895CF930E94691C811102C00E94FE -:103650004F1CC5E6C15049F00E9426048FE39CE947 -:103660000197F1F700C00000F5CF89E20E94141B1A -:10367000811113C18AE20E94141B81110E944F1C08 -:1036800085E00E94141B81110E94C01A0E94741CC4 -:103690008093CC0187E00E94141B8823A9F18BE161 -:1036A0000E94141B882351F08091CC0181FB2227BA -:1036B00020F991E0922790FB81F90EC08EE00E94E4 -:1036C000141B882361F08091CC0182FB222720F912 -:1036D00091E0922790FB82F98093CC0115C080E1A4 -:1036E0000E94141B9091CC01882341F093FB222768 -:1036F00020F981E0822780FB93F904C0892F80950F -:1037000080FB90F99093CC018091CC010E94781CB1 -:103710000E94861C8093DE0180EE0E94141B882389 -:1037200041F08091DE01982F909590FB80F9809375 -:10373000DE0189E30E94141B882359F08091DE0189 -:1037400081FB222720F991E0922790FB81F9809359 -:10375000DE0182EE0E94141B882359F08091DE0165 -:1037600082FB222720F991E0922790FB82F9809337 -:10377000DE0186EE0E94141B882359F08091DE0141 -:1037800083FB222720F991E0922790FB83F9809315 -:10379000DE0183EE0E94141B882359F08091DE0124 -:1037A00084FB222720F991E0922790FB84F98093F3 -:1037B000DE0185E30E94141B882359F08091DE010D -:1037C00085FB222720F991E0922790FB85F98093D1 -:1037D000DE0181E30E94141B882359F08091DE01F1 -:1037E00086FB222720F991E0922790FB86F98093AF -:1037F000DE0181E10E94141B882359F08091DE01D3 -:1038000087FB222720F991E0922790FB87F980938C -:10381000DE018091DE010E948A1C8091DE0187FB1F -:10382000882780F980930D0187E20E94141BC82F1E -:103830008EE10E94141B8111C2608FE10E94141B53 -:103840008111C46080E20E94141B8111C86081E272 -:103850000E94141B8111C06182E20E94141B81111D -:10386000C06283E20E94141B8111C06484E20E9442 -:10387000141B882311F0C06802C0CC2329F08C2FC0 -:103880000E94811C6C2F03C00E947D1C682F70E079 -:1038900080E090E0CF910C947017CF9108956DEE79 -:1038A0007EEF80E090E00E94C32260E082E090E042 -:1038B0000E94B52260E083E090E00E94B52260E0C3 -:1038C00084E090E00E94B52260E085E090E00C94F6 -:1038D000B52280E090E00E94AF2221E08D3E9E4F15 -:1038E00009F020E0822F089582E090E00C94A72256 -:1038F000682F82E090E00C94B52283E090E00C9475 -:10390000A722682F83E090E00C94B52284E090E039 -:103910000C94A722682F84E090E00C94B52280914B -:10392000D30180FF0BC06091130185E0689FB00157 -:10393000112475956795759567952BC081FF09C012 -:103940006091130185E0689FB0011124759567951A -:1039500020C082FF07C06091130185E0689FB0011D -:10396000112417C09091D4019923D1F060911201D4 -:10397000961788F72091130185E0289F9001112464 -:10398000929FA001939F500D112470E0CA010E94E4 -:1039900079226038710540F46115710519F406C08B -:1039A00065E070E0862F08958FE7089581E008951F -:1039B0008091D30180FF08C06091110170E075957E -:1039C00067957595679521C081FF06C060911101CB -:1039D00070E07595679519C082FF04C06091110170 -:1039E00070E010C09091D401992399F0609110017A -:1039F0009617A0F780911101899FC001112470E0F2 -:103A00000E9479226038710540F46115710519F43E -:103A100006C061E070E0862F08958FE7089581E089 -:103A20000895803F21F40E948F1C819504C0813F3E -:103A300029F40E948F1C8093D7010895823F21F4BE -:103A40000E948F1C819504C0833F29F40E948F1C23 -:103A50008093D6010895893F19F40E94D81C05C0AF -:103A60008A3F31F40E94D81C81958093D801089533 -:103A70008B3F21F40E94D81C819504C08C3F29F40F -:103A80000E94D81C8093D9010895843F21F480912D -:103A9000D501816017C0853F21F48091D5018260F6 -:103AA00011C0863F21F48091D50184600BC0873F0F -:103AB00021F48091D501886005C0883F31F4809160 -:103AC000D50180618093D50108958D3F21F48091C7 -:103AD000D30181600BC08E3F21F48091D3018260BD -:103AE00005C08F3F29F48091D30184608093D30176 -:103AF0000895803F39F48091D70187FF6CC0109200 -:103B0000D70169C0813F29F48091D7011816BCF311 -:103B100062C09091D601823F29F497FF5CC0109259 -:103B2000D60159C0833F19F41916CCF354C0893F0C -:103B300041F48091D80118160CF04DC01092D801B4 -:103B40004AC08A3F29F48091D80187FF44C0F6CF4C -:103B50008B3F39F48091D90187FF3DC01092D90184 -:103B60003AC08C3F29F48091D9011816BCF333C0B8 -:103B7000843F21F48091D5018E7F17C0853F21F4C9 -:103B80008091D5018D7F11C0863F21F48091D501B0 -:103B90008B7F0BC0873F21F48091D501877F05C0C3 -:103BA000883F31F48091D5018F7E8093D50113C079 -:103BB0008D3F21F48091D3018E7F0BC08E3F21F485 -:103BC0008091D3018D7F05C08F3F29F48091D3016F -:103BD0008B7F8093D3018091D60181110EC080919B -:103BE000D70181110AC08091D801811106C080914E -:103BF000D901811102C01092D401089585ED91E0A0 -:103C00000E94670E0E94651A9093D2018093D101A1 -:103C100008951F93CF93DF938091D1019091D201AA -:103C20000E94711AAC019091D401992321F0209146 -:103C3000140130E006C0209115018AE0289F900110 -:103C400011244217530708F485C08091D601C09112 -:103C5000D701D091D8011091D901811107C0C111AC -:103C600075C0D11173C0111171C074C09F3F19F09C -:103C70009F5F9093D401181624F40E948F1C8093A8 -:103C8000D6018091D60187FF05C00E948F1C8195C7 -:103C90008093D6011C1624F40E948F1C8093D701B8 -:103CA0008091D70187FF05C00E948F1C819580936A -:103CB000D7016091D601662331F1C091D701CC23A1 -:103CC00011F1062E000C770B880B990B0E948021B6 -:103CD00023E333E343E35FE30E94E4210E944821AE -:103CE0006093D6016C2FCC0F770B880B990B0E9439 -:103CF000802123E333E343E35FE30E94E4210E9456 -:103D000048216093D7011D1624F40E94D81C80938B -:103D1000D8018091D80187FF05C00E94D81C8195E9 -:103D20008093D801111624F40E94D81C8093D901E5 -:103D30008091D90187FF05C00E94D81C819580938E -:103D4000D901DF91CF911F910C94FE1D9F3F09F087 -:103D50008FCFA0CFDF91CF911F910895E5EDF1E0D6 -:103D600085E0DF011D928A95E9F71092D401109247 -:103D7000D3010895833081F128F4813059F08230E5 -:103D8000D1F00895853009F449C0B8F1863009F4BE -:103D900056C0089580911501262F30E0280F311D5F -:103DA0002F3F310524F4680F6093150108958FEFBC -:103DB00080931501089580911401262F30E0280F7B -:103DC000311D2F3F310524F4680F609314010895CD -:103DD0008FEF80931401089580911301262F30E016 -:103DE000280F311D2F3F310524F4680F6093130114 -:103DF00008958FEF80931301089580911201262F6B -:103E000030E0280F311D2F3F310524F4680F6093F7 -:103E1000120108958FEF809312010895809111018E -:103E2000262F30E0280F311D2F3F310524F4680F75 -:103E30006093110108958FEF80931101089580918F -:103E40001001262F30E0280F311D2F3F310524F4BB -:103E5000680F6093100108958FEF8093100108950B -:103E6000833011F128F4813049F0823091F00895C7 -:103E7000853081F120F18630C1F1089580911501DE -:103E8000681720F4861B8093150108951092150180 -:103E9000089580911401681720F4861B8093140103 -:103EA000089510921401089580911301681720F469 -:103EB000861B809313010895109213010895809139 -:103EC0001201681720F4861B809312010895109246 -:103ED0001201089580911101681720F4861B8093C8 -:103EE0001101089510921101089580911001681731 -:103EF00020F4861B809310010895109210010895FC -:103F00000F931F938D3109F46BC008F03FC08E30C2 -:103F100009F47DC0C0F4873009F46EC068F48630BF -:103F200009F0AFC08091CC01817F8E7F8093CC015E -:103F300081E08093DB01A6C0883009F458C08B3043 -:103F400009F49BC09EC0863109F497C078F4803193 -:103F500009F470C0813109F094C00E94B9139091A6 -:103F60000D0181E0892780930D0187C0893109F413 -:103F700084C08B3109F085C08091CC0181FB222760 -:103F800020F991E0922790FB81F94AC0853309F42A -:103F90005BC048F4873209F457C008F45AC089322C -:103FA00009F452C06EC0833438F48A3308F067C015 -:103FB000883309F462C065C0833409F445C088348D -:103FC00009F05FC00E94B9130FEF13ED20E3015019 -:103FD00010402040E1F700C000000E94C01A4DC010 -:103FE0000E9402210E94500E0E94460746C00E9475 -:103FF000741C0E94861C41C09091CC01892F817055 -:1040000090FF12C0917F9E7F9093CC013BC0809126 -:10401000CC0182FB222720F991E0922790FB82F9C4 -:104020008093CC01992349F18091CC0181608093E8 -:10403000CC0123C08091CC0183FB222720F991E0A1 -:10404000922790FB83F9ECCF61E070E080E090E094 -:1040500010C08D5141E050E060E070E08A019B01AA -:1040600004C0000F111F221F331F8A95D2F7C90108 -:10407000B8010E9470170E94B91381E003C08953F0 -:10408000E9CF80E01F910F91089580E008950C948E -:104090004520CF93C82F8091DB01813079F018F053 -:1040A0008230E9F187C0E0910E01F0910F0180812B -:1040B000813169F0823209F07FC009C0E0910E01C0 -:1040C000F0910F018081813111F0823261F48C2FE7 -:1040D0000E944720811104C08C2F0E94801F1DC0A8 -:1040E00081E090E01AC08C2F0E944520811114C0FD -:1040F000C43179F048F4CB3079F0C03109F060C0B8 -:1041000082E08093DB0108C0C93219F0C83321F086 -:1041100057C01092DB0154C081E0817053C0C93296 -:1041200089F118F5C43171F1A8F4C73009F046C01F -:104130008AE08093150194E19093140193E09093A9 -:1041400013018093120188E08093110188E280932B -:10415000100134C0CE51C63088F5EC2FF0E0E65D9A -:10416000FE4F80818093DA0129C0CE34E9F020F43B -:10417000CB3421F56AE013C0C13579F0C235F1F4D2 -:1041800061E00DC08091DA01882319F01092DA0104 -:1041900015C081E08093DB0115C061E006C080910D -:1041A000DA010E94BA1E0AC06AE08091DA010E9418 -:1041B000301F04C01092DB0180E004C081E002C027 -:1041C00080E0ABCFCF910895E1E8F0E08081886096 -:1041D00080838081816080838FB7F89493E090938F -:1041E000890090ED909388008FBF0895EFE6F0E08E -:1041F0008081826080830895EFE6F0E080818D7F8A -:1042000080830895EFE6F0E0908182E08927808343 -:1042100008951F920F920FB60F9211242F933F9380 -:104220004F935F936F937F938F939F93AF93BF93BE -:10423000EF93FF938091DC019091DD0101969093C3 -:10424000DD018093DC01811103C082E00E944607FA -:10425000E091DD01E695E695F0E0E657FB4FE4914D -:104260008091DC018E1303C080E00E944607FF911D -:10427000EF91BF91AF919F918F917F916F915F91DE -:104280004F913F912F910F900FBE0F901F90189557 -:104290000E944F216894B1110C94DE2108950E9470 -:1042A000C32188F09F5798F0B92F9927B751B0F0E4 -:1042B000E1F0660F771F881F991F1AF0BA95C9F7AA -:1042C00014C0B13091F00E94DD21B1E008950C944A -:1042D000DD21672F782F8827B85F39F0B93FCCF3FD -:1042E000869577956795B395D9F73EF49095809527 -:1042F000709561957F4F8F4F9F4F0895E89409C047 -:1043000097FB3EF490958095709561957F4F8F4F08 -:104310009F4F9923A9F0F92F96E9BB279395F6951E -:10432000879577956795B795F111F8CFFAF4BB0F9C -:1043300011F460FF1BC06F5F7F4F8F4F9F4F16C000 -:10434000882311F096E911C0772321F09EE8872F8A -:10435000762F05C0662371F096E8862F70E060E046 -:104360002AF09A95660F771F881FDAF7880F9695BF -:10437000879597F9089557FD9058440F551F59F0A8 -:104380005F3F71F04795880F97FB991F61F09F3F42 -:1043900079F087950895121613061406551FF2CF6B -:1043A0004695F1DF08C0161617061806991FF1CFBB -:1043B00086957105610508940895E894BB276627E2 -:1043C0007727CB0197F908950E94F7210C94682272 -:1043D0000E945A2238F00E94612220F0952311F0A9 -:1043E0000C9451220C94572211240C94DE210E942B -:1043F000BB2170F3959FC1F3950F50E0551F629F4D -:10440000F001729FBB27F00DB11D639FAA27F00D2D -:10441000B11DAA1F649F6627B00DA11D661F829F54 -:104420002227B00DA11D621F739FB00DA11D621F39 -:10443000839FA00D611D221F749F3327A00D611D56 -:10444000231F849F600D211D822F762F6A2F112438 -:104450009F5750409AF0F1F088234AF0EE0FFF1F6B -:10446000BB1F661F771F881F91505040A9F79E3FC2 -:10447000510580F00C9451220C94DE215F3FE4F34F -:10448000983ED4F3869577956795B795F795E79518 -:104490009F5FC1F7FE2B880F911D9695879597F921 -:1044A000089597F99F6780E870E060E008959FEFB6 -:1044B00080EC089500240A941616170618060906BB -:1044C000089500240A94121613061406050608958A -:1044D000092E0394000C11F4882352F0BB0F40F412 -:1044E000BF2B11F460FF04C06F5F7F4F8F4F9F4F52 -:1044F000089597FB072E16F4009407D077FD09D096 -:104500000E94932207FC05D03EF4909581959F4F21 -:104510000895709561957F4F0895EE0FFF1F0590E8 -:10452000F491E02D0994AA1BBB1B51E107C0AA1FFF -:10453000BB1FA617B70710F0A61BB70B881F991F44 -:104540005A95A9F780959095BC01CD010895F999E8 -:10455000FECF92BD81BDF89A992780B50895A8E154 -:10456000B0E042E050E00C94CA22262FF999FECF29 -:104570001FBA92BD81BD20BD0FB6F894FA9AF99A80 -:104580000FBE019608950E94B522272F0C94B622E3 -:10459000DC01CB01FC01F999FECF06C0F2BDE1BD03 -:1045A000F89A319600B40D9241505040B8F70895F2 -:0445B000F894FFCFAD -:1045B40020024707D707B2077E074A070101BA015D -:1045C40028080A03140A3F4D36394B04FE03C80376 -:1045D4008F0322033B0354036D0301020304050606 -:0445E40007080900BB +:1004D000DAE0DEBFCDBF04B603FE24C08091F00198 +:1004E0009091F101A091F201B091F3018730904B0E +:1004F000A740B04BB9F41092F0011092F1011092A4 +:10050000F2011092F30114BE84B7877F84BF88E1A3 +:100510000FB6F89480936000109260000FBEE0E088 +:10052000FFE3099511E0A0E0B1E0EEE1F8E402C0DC +:1005300005900D92A433B107D9F711E0A4E3B1E01F +:1005400001C01D92A03FB107E1F70E94E9090C9498 +:100550000D240C940000662319F06130F1F03DC0C9 +:10056000FC018281882341F00E94B71B90933501E2 +:100570008093340181EE1CC080913401909135014B +:100580000E94C31B8639910534F486E20E944A100A +:1005900086E20E94121181EE1EC0FC018281882336 +:1005A00051F00E94B71B909335018093340185EE82 +:1005B0000E944A1012C080913401909135010E942E +:1005C000C31B8639910534F487E20E944A1087E202 +:1005D0000E94121185EE0E94121180E090E00895B1 +:1005E00008956091B3017091B4018091B50190912B +:1005F000B6010E94151B56985E9825982D9826984E +:100600002E9827982F98813019F0823021F0089584 +:10061000259A2D9A0895269A2E9A089508950C9455 +:10062000F10256985E9825982D9826982E9827982E +:100630002F988FEF90E0909389008093880090939B +:100640008B0080938A0090938D0080938C00259A74 +:100650002D9A2FEF80E792E0215080409040E1F703 +:1006600000C00000269A2E9A2FEF80E792E02150DA +:1006700080409040E1F700C00000279A2F9A2FEFAA +:1006800080E792E0215080409040E1F700C00000F8 +:1006900025982D982FEF80E792E0215080409040E0 +:1006A000E1F700C0000026982E982FEF80E792E037 +:1006B000215080409040E1F700C0000027982F981B +:1006C00056985E9825982D9826982E9827982F98BA +:1006D000089589EA8093800089E0809381002498BE +:1006E0002C983F988AB18F748AB96E98479A8BB1CB +:1006F000806B8BB9769A0E9411030C94F00280E211 +:10070000809300018091360181110EC00E94D003B8 +:1007100081E0809336012FEF83ED90E321508040FC +:100720009040E1F700C0000080E40E94D60380936F +:10073000000181112EC00E940004809300018111EC +:1007400028C00E94000480930001811122C08FE321 +:100750000E9400048093000181111BC00E94F803D5 +:1007600080E40E94D60380930001811112C08CE0C6 +:100770000E9400048093000181110BC00E940004BC +:1007800080930001811105C08FE30E9400048093D3 +:1007900000010E94F8038091000108950C940E035B +:1007A0001092B9008AE08093B800089594EA90937B +:1007B000BC009091BC0097FFFCCF9091B900987F4E +:1007C000983021F0903111F081E008958093BB00C2 +:1007D00084E88093BC008091BC0087FFFCCF8091AF +:1007E000B900887F883111F0803471F780E0089576 +:1007F00084E98093BC008091BC0084FDFCCF089507 +:100800008093BB0084E88093BC008091BC0087FF8C +:10081000FCCF9091B900987F81E0983209F480E094 +:10082000089584E88093BC008091BC0087FFFCCFD2 +:100830008091BB00089580910001811115C080E472 +:100840000E94D6038093000181110CC082E10E94B6 +:10085000000480930001811105C08FEF0E94000405 +:10086000809300010E94F80384B1807F84B985B130 +:10087000807F85B98AB1837F8AB98BB1837F8BB939 +:100880003E98469808950E947F03809300010E943D +:100890001B0480B38C7080BB81B3836F81BBE6E4A3 +:1008A000F1E0A8E3B1E011921D9281E0E435F80790 +:1008B000D1F70C946903BF92CF92DF92EF92FF922F +:1008C0000F931F93CF93DF9380910001882379F0DA +:1008D000809137018F5F80933701811108C00E949A +:1008E0007F0380930001811102C00E94110308E37D +:1008F00011E0C0E0D0E0DD24D39482E0C82EEE24E5 +:10090000E394F12CC73000F580910001811162C0A1 +:1009100080E40E94D60380930001811112C082E11D +:100920000E9400048093000181110BC0C7010C2EAE +:1009300001C0880F0A94EAF780950E940004809312 +:1009400000010E94F80346C0CA30A1F028F4C83064 +:1009500059F0C93061F005C0CC3089F070F0CD306D +:1009600089F0209A289810C0219A29980DC0229ABF +:100970002A980AC0239A2B9807C0529A01C0539A0A +:100980005B9802C03E9A4698E0EAEA95F1F78FB18B +:1009900079995AC092E081708D25892B7C9B02C089 +:1009A00090E001C094E0892B7D9B02C090E001C0E3 +:1009B00098E0892B7E9B02C090E001C090E1892BDA +:1009C0009FB19095991F9927991F9295990F907EA5 +:1009D000892B0FC08091000181114BC080E40E94DF +:1009E000D60380930001882389F1B12C0E94F8037B +:1009F0008B2DF8019081981719F08083C092010126 +:100A00000E941B0421960F5F1F4FCE30D10509F0C5 +:100A100079CF80910101882371F181508093010188 +:100A2000882339F08FE99FE00197F1F700C00000BB +:100A300022C0A6E4B1E0E8E3F1E081918D9391E07A +:100A4000E634F907D1F717C090E0A5CF83E10E9403 +:100A50000004809300018111C8CF81E40E94D60375 +:100A6000809300018111C1CF0E941104B82EB0946F +:100A7000BDCF80E0BECF0E940F0381E0DF91CF9118 +:100A80001F910F91FF90EF90DF90CF90BF9008954E +:100A9000E82FF0E0EA5BFE4F808108950895089505 +:100AA00096E0799FF001112494E5899FE00DF11DF6 +:100AB0001124E60FF11DEE0FFF1FEC51FF4F859142 +:100AC00094910895880F991F805A9040FC01859158 +:100AD00094910895880F991F80529F4FFC01859132 +:100AE000949108950F931F93CF93DF93EC01811599 +:100AF00020E3920730F5811530E2930708F0B1C08A +:100B00008B3B910588F4883A910508F058C0853AE6 +:100B1000910508F049C08430910508F043C0813048 +:100B2000910509F4B2C1AEC18F3F910509F0D0F52E +:100B3000803F910508F092C0805E9109089790F17E +:100B4000A1C1C11581E5D807A8F4C23090E5D90745 +:100B500008F09FC0C11520E5D20709F486C008F04F +:100B600092C0C11580E4D80708F08CC18E0111270E +:100B7000106CCCC1C11590E8D90758F4C11520E715 +:100B8000D20708F07BC1C11530E6D30708F423C1B2 +:100B900079C1C11580E9D80708F074C18E011F70B2 +:100BA000106AB4C18E01B2C1853A910509F470C1D1 +:100BB000863A910509F46FC103E810E4A7C1883AA9 +:100BC000910509F46BC1893A910509F46AC18A3A21 +:100BD000910509F469C18B3A910509F468C18C3A11 +:100BE000910509F467C18D3A910509F466C1803B0E +:100BF000910509F465C18E3A910509F464C18F3AF3 +:100C0000910509F463C1813B910509F462C1823BFE +:100C1000910509F461C1833B910509F460C1843BEE +:100C2000910509F45FC1853B910509F45EC1863BDE +:100C3000910509F45DC1873B910509F45CC1883BCE +:100C4000910509F45BC1893B910509F45AC18A3BBE +:100C5000910509F059C10AE216E458C18C011065EA +:100C600055C19F700E946A0552C10E94A4149FEF53 +:100C700024E33CE0915020403040E1F700C0000008 +:100C80000E94111C43C18091CF0181608093CF01EC +:100C90003DC10E94B91D811102C00E949F1D0E948A +:100CA000D61D90E09093F0018093EF01C23080E573 +:100CB000D80721F48091EF01816086C0C43090E5AF +:100CC000D90721F48091EF0182607EC0C63020E513 +:100CD000D20721F48091EF01846076C0C83030E5FE +:100CE000D30719F48091EF0127C0CA3080E5D807F7 +:100CF00021F48091EF01806167C0CC3090E5D90785 +:100D000021F48091EF0180625FC0CE3020E5D207F0 +:100D100021F48091EF01806457C0C03130E5D307E2 +:100D200021F48091EF0180684FC0C23180E5D8077F +:100D300029F48091EF018460886046C0C33090E55B +:100D4000D90721F48091EF018E7F3EC0C53020E5A8 +:100D5000D20721F48091EF018D7F36C0C73030E596 +:100D6000D30721F48091EF018B7F2EC0C93080E53D +:100D7000D80719F48091EF0126C0CB3090E5D90750 +:100D800021F48091EF018F7E1FC0CD3020E5D20786 +:100D900021F48091EF018F7D17C0CF3030E5D3076C +:100DA00021F48091EF018F7B0FC0C13180E5D8071E +:100DB00021F48091EF018F7707C0C331D04531F422 +:100DC0008091EF018B7F877F8093EF018091EF010E +:100DD0000E94DA1D9BC08D2F99278F709927813033 +:100DE0009105E9F48E01037011279C0102C0220FC6 +:100DF000331F0A95E2F789011C68CE0164E0880F71 +:100E0000991F6A95E1F788279370082B192B73E0D7 +:100E1000CC0FDD1F7A95E1F7C076DD272CC082303C +:100E2000910529F41C2F0027016F106A6FC08330D1 +:100E3000910561F4CE018370992701E010E002C0B2 +:100E4000000F111F8A95E2F71C680EC0049709F085 +:100E50005DC0CE018370992701E010E002C0000F51 +:100E6000111F8A95E2F71A6843E0CC0FDD1F4A95FF +:100E7000E1F7C07ED7700C2B1D2B48C08E011F7070 +:100E8000106244C000E010E041C001E010E03EC04C +:100E900001E810E43BC002E810E438C002EE14E4BC +:100EA00035C009EE14E432C00AEE14E42FC005EB9D +:100EB00014E42CC006EB14E429C007EB14E426C0AC +:100EC0000CEC14E423C00DEC14E420C003E815E49A +:100ED0001DC00AE815E41AC002E915E417C004E9C8 +:100EE00015E414C001E216E411C003E216E40EC0DA +:100EF00004E216E40BC005E216E408C006E216E4BC +:100F000005C007E216E402C000E014E4C801DF9166 +:100F1000CF911F910F91089596E0799FF0011124D0 +:100F200094E5899FE00DF11D1124E60FF11DEE0FF0 +:100F3000FF1FEC51FF4F85919491803E9105E0F4A5 +:100F4000803C910558F58133910509F46FC048F450 +:100F50008932910509F463C08A32910509F46DC0A4 +:100F600072C089339105E9F082389105D1F085335B +:100F7000910509F44DC067C0833E910581F138F4B5 +:100F8000803E9105B9F0823E9105D9F05CC0863E65 +:100F9000910561F1873E9105A1F155C00E9462055E +:100FA00008952091EF0120FD02C021FF4CC080EE8A +:100FB00090E049C08091EF0180FFF9CF89E390E094 +:100FC00042C08091EF0182FF0EC08091EF0184FF4B +:100FD00003C080E090E037C083EE90E034C08091A1 +:100FE000EF0182FFF2CF82EE90E02DC08091EF0101 +:100FF00083FF0BC08091EF0184FDEBCF87EE90E083 +:1010000022C08091EF0183FFF5CF86EE90E01BC0F8 +:101010008091EF0185FF07C089E290E014C08091C4 +:10102000EF0185FFF9CF85E390E00DC08091EF01DE +:1010300086FF07C08AE290E006C08091EF0186FF3C +:10104000F9CF81E390E00E947205089508950C9411 +:101050002608809164010895CF93DF9300D01F92FA +:10106000CDB7DEB72091E601243019F523E02983BE +:101070009B838A832093E9008FEF9091E800815051 +:1010800095FD06C095ED9A95F1F700008111F5CF19 +:101090008091E80085FF0DC040E050E063E070E023 +:1010A000CE0101960E94960A8091E8008E77809387 +:1010B000E8000F900F900F90DF91CF910895CF939C +:1010C000DF9300D01F92CDB7DEB72091E601243028 +:1010D00021F522E029839B838A8383E08093E900C2 +:1010E0008FEF9091E800815095FD06C095ED9A959F +:1010F000F1F700008111F5CF8091E80085FF0DC068 +:1011000040E050E063E070E0CE0101960E94960A54 +:101110008091E8008E778093E8000F900F900F90F9 +:10112000DF91CF9108952091E6012430F1F422E07F +:101130002093E9002FEF3091E800215035FD06C0E3 +:1011400035ED3A95F1F700002111F5CF2091E80037 +:1011500025FF0BC040E050E065E070E00E94960A79 +:101160008091E8008E778093E8000895CF93DF9315 +:10117000EC018091E601843009F046C090910C01A9 +:101180009923D9F090910D019923B9F08093E9004A +:101190008FEF9091E800815095FD06C095E19A95FA +:1011A000F1F700008111F5CF8091E80085FF2CC098 +:1011B00040E050E060E170E017C081E08093E9001A +:1011C0008FEF9091E800815095FD06C095ED9A95BE +:1011D000F1F700008111F5CF8091E80085FF14C080 +:1011E00040E050E068E070E0CE010E94960A8091F5 +:1011F000E8008E778093E80080E1FE01A4E5B1E08D +:1012000001900D928A95E1F7DF91CF910895809139 +:10121000E501811109C00E94280C0E94850C809173 +:10122000E20084608093E20008951092E501089541 +:1012300008950C9435220E94A81B0E943B220E9414 +:10124000220F0C94270842E061EC81E00E94A20B7F +:1012500042E061EC82E00E94A20B42E061EC83E09C +:101260000E94A20B42E161EC84E00C94A20B8091FD +:10127000E801833009F455C030F4813071F08230D8 +:1012800009F48EC008958A3009F47AC08B3009F4CD +:1012900060C0893009F09CC020C08091E701813A8C +:1012A00009F096C08091E800877F8093E8008091E4 +:1012B000EB019091EC01892B21F060E080E090E05F +:1012C00003C060E184E591E070E00E94DF0A809154 +:1012D000E8008B778093E80008958091E7018132E0 +:1012E00009F076C08091EB019091EC01009719F024 +:1012F000039709F06DC08091E800877F8093E80034 +:101300008091E80082FD05C08091E6018111F8CF4F +:101310005FC08091F100809364018091E8008B7739 +:1013200053C08091E701813A09F052C08091EB01EE +:101330009091EC01892B09F04BC08091E800877FE8 +:101340008093E8008091E80080FFFCCF80910C0141 +:1013500036C08091E7018132D9F58091EB019091FF +:10136000EC01892BA9F58091E800877F8093E80044 +:101370000E94D70B8091E90180930C010C94A41476 +:101380008091E701813221F58091E800877F809389 +:10139000E8000E94D70B8091EA01809365010895CF +:1013A0008091E701813AA1F48091E800877F8093E2 +:1013B000E8008091E80080FFFCCF80916501809378 +:1013C000F1008091E8008E778093E8000C94D70BB1 +:1013D000089584B7877F84BF88E10FB6F89480931F +:1013E0006000109260000FBE90E080E80FB6F894A5 +:1013F00080936100909361000FBE0E94710F0E9464 +:10140000280C0E94850C8091E20084608093E200A9 +:1014100078940E94000F0E94730F82E091E00E9476 +:101420001D0F0E9423228091E601853069F40E94FD +:10143000681B8091E4018823B1F30E94931B8823E9 +:1014400091F30E94800AEFCF0E94790FECCF292FF1 +:10145000332723303105A9F06CF42130310509F42C +:1014600042C02230310509F043C08DE690E020E112 +:1014700033E042C021323105C9F02232310519F181 +:1014800037C099278130910541F08230910541F0B4 +:10149000892B71F5ECE0F3E005C0E4EFF2E002C067 +:1014A000ECEDF2E0849190E09F0126C0643000F5FD +:1014B000E62FF0E0EE0FFF1FEE5DFE4F2081318141 +:1014C00089E090E019C0643098F4E62FF0E0DF0185 +:1014D000AA0FBB1FA65EBE4F2D913C91EA5EFE4F48 +:1014E000808190E009C082E190E02DE733E004C004 +:1014F00080E090E020E030E0FA013183208308951D +:1015000080E189BD82E189BD09B400FEFDCF8091F3 +:10151000D8008F7D8093D8008091E0008260809316 +:10152000E0008091E00081FDFCCF0895CF92DF9232 +:10153000EF92FF920F931F93CF93DF937C018B0168 +:10154000EA010E94F80B811131C0209731F08881A7 +:101550009981081B190BE80EF91EC12CD12C01151D +:10156000110519F18091E80085FD14C08091E80013 +:101570008E778093E800209741F0888199818C0DC7 +:101580009D1D9983888385E011C00E94F80B8823F4 +:1015900031F30CC0F70181917F018093F10001507C +:1015A0001109FFEFCF1ADF0ADACF80E0DF91CF9188 +:1015B0001F910F91FF90EF90DF90CF9008952091B1 +:1015C000ED013091EE012617370748F061157105DE +:1015D00039F42091E8002E772093E80001C0B9018A +:1015E000FC0120E061157105B9F18091E6018823C5 +:1015F00009F440C0853009F43FC08091E80083FDC4 +:101600003DC08091E80082FF06C08091E80082FF23 +:1016100026C080E008958091E80080FFE3CF20910C +:10162000F3008091F20090E0922B6115710551F06A +:101630008830910538F421912093F10061507109AF +:101640000196F3CF21E0089709F020E08091E800AF +:101650008E778093E800C6CF2111C7CFD6CF809177 +:10166000E601882339F0853039F08091E80083FF66 +:10167000CCCF04C082E0089583E0089581E008950E +:101680002091ED013091EE012617370748F06115E2 +:10169000710539F42091E8002E772093E80001C00D +:1016A000B901FC0120E061157105C1F18091E601ED +:1016B000882309F441C0853009F440C08091E800D6 +:1016C00083FD3EC08091E80082FF06C08091E80063 +:1016D00082FF27C080E008958091E80080FFE3CF7B +:1016E0002091F3008091F20090E0922B611571053A +:1016F00059F08830910540F424912093F1003196FF +:10170000615071090196F2CF21E0089709F020E0BD +:101710008091E8008E778093E800C5CF2111C6CF75 +:10172000D5CF8091E601882339F0853039F080915A +:10173000E80083FFCBCF04C082E0089583E00895E2 +:1017400081E00895982F973058F59093E900981705 +:1017500039F07091EC002091ED005091F00003C041 +:10176000242F762F50E021FF19C03091EB003E7FEF +:101770003093EB003091ED003D7F3093ED003091E0 +:10178000EB0031603093EB007093EC002093ED00A0 +:101790005093F0002091EE0027FF07C09F5FD3CF4A +:1017A0008F708093E90081E0089580E00895809132 +:1017B000E70187FD05C08091E80080FF0EC012C0E0 +:1017C0008091E80082FD05C08091E6018111F8CF8B +:1017D00008958091E8008B7708C08091E60181111F +:1017E000EACF08958091E8008E778093E80008950D +:1017F0008091E4009091E50045E62091EC0020FF07 +:1018000021C02091E80020FD21C02091E601222383 +:1018100089F0253089F02091EB0025FD0FC0209143 +:10182000E4003091E5002817390739F3415041F0C1 +:10183000C901E3CF82E0089583E0089581E008952F +:1018400084E008952091E80022FFDFCF80E0089532 +:101850000E94960C0E949E0CE0EEF0E08081816078 +:101860008083E8EDF0E080818F77808319BCA7ED5D +:10187000B0E08C918E7F8C9380818F7E80831092DC +:10188000E50108950F931F93CF93DF930E94960C69 +:101890000E949E0CC8EDD0E088818F778883888174 +:1018A0008068888388818F7D888319BC1092E601C7 +:1018B0001092E2011092E4011092E30100EE10E0B8 +:1018C000F80180818B7F808388818160888342E0FA +:1018D00060E080E00E94A20BE1EEF0E080818E7F6C +:1018E0008083E2EEF0E08081816080838081886087 +:1018F0008083F80180818E7F8083888180618883E6 +:10190000DF91CF911F910F910895E8EDF0E0808174 +:101910008F7E8083E7EDF0E080818160808384E0CA +:1019200082BF81E08093E5010C94420CE8EDF0E089 +:1019300080818E7F80831092E20008951092DA00F9 +:101940001092E10008951F920F920FB60F9211248A +:101950002F933F934F935F936F937F938F939F93B7 +:10196000AF93BF93EF93FF938091E10082FF0BC091 +:101970008091E20082FF07C08091E1008B7F80931D +:10198000E1000E94FF0E8091DA0080FF1FC080916D +:10199000D80080FF1BC08091DA008E7F8093DA0030 +:1019A0008091D90080FF0DC080E189BD82E189BDB1 +:1019B00009B400FEFDCF81E08093E6010E94070993 +:1019C00005C019BC1092E6010E9415098091E10042 +:1019D00080FF19C08091E20080FF15C08091E20075 +:1019E0008E7F8093E2008091E20080618093E2002C +:1019F0008091D80080628093D80019BC85E08093E4 +:101A0000E6010E9419098091E10084FF30C08091B5 +:101A1000E20084FF2CC080E189BD82E189BD09B468 +:101A200000FEFDCF8091D8008F7D8093D8008091FB +:101A3000E1008F7E8093E1008091E2008F7E8093B1 +:101A4000E2008091E20081608093E2008091E201F7 +:101A5000882311F084E007C08091E30087FF02C073 +:101A600083E001C081E08093E6010E941B09809120 +:101A7000E10083FF29C08091E20083FF25C08091AF +:101A8000E100877F8093E10082E08093E60110927D +:101A9000E2018091E1008E7F8093E1008091E2007D +:101AA0008E7F8093E2008091E20080618093E2006B +:101AB00042E060E080E00E94A20B8091F00088602C +:101AC0008093F0000E941809FF91EF91BF91AF91B0 +:101AD0009F918F917F916F915F914F913F912F9146 +:101AE0000F900FBE0F901F9018951F920F920FB678 +:101AF0000F9211242F933F934F935F936F937F9394 +:101B00008F939F93AF93BF93CF93EF93FF93C09126 +:101B1000E900CF708091EC001092E9008091F00014 +:101B2000877F8093F00078940E94B10D1092E900B5 +:101B30008091F00088608093F000C093E900FF91ED +:101B4000EF91CF91BF91AF919F918F917F916F91C5 +:101B50005F914F913F912F910F900FBE0F901F906B +:101B600018951F93CF93DF93CDB7DEB7AA970FB623 +:101B7000F894DEBF0FBECDBFE7EEF1E08091F1003B +:101B8000819321E0EF3EF207C9F70E943709809167 +:101B9000E80083FF1CC12091E7013091E801832F09 +:101BA00090E08A30910508F012C1FC01EA5AFF4F1B +:101BB0000C94BD23203881F0223809F008C18091AF +:101BC000EB018F708093E9008091EB0085FB882703 +:101BD00080F91092E90006C08091E3019091E40140 +:101BE000911182609091E800977F9093E800809334 +:101BF000F1001092F100C5C0822F8D7F09F0E7C07F +:101C0000222319F0223061F0E2C08091E901813095 +:101C100009F0DDC0333009F080E08093E40128C092 +:101C20008091E901811124C02091EB012F7009F40A +:101C3000CEC02093E9008091EB0080FF19C0809115 +:101C4000EB00333011F4806211C080618093EB00AF +:101C500081E090E0022E01C0880F0A94EAF7809399 +:101C6000EA001092EA008091EB0088608093EB001C +:101C70001092E9008091E800877F86C02111A7C0FB +:101C80001091E9011F778091E3008078812B809388 +:101C9000E3008091E800877F8093E8000E94D70BE3 +:101CA0008091E80080FFFCCF8091E3008068809302 +:101CB000E300112311F083E001C082E08093E6018C +:101CC00086C02058223008F082C08091E9019091AE +:101CD000EA018C3D23E0920779F583E08A838AE26A +:101CE00089834FB7F894DE01139620E03EE051E27D +:101CF000E32FF0E050935700E49120FF03C0E295FA +:101D0000EF703F5FEF708E2F90E0EA3010F0C796D3 +:101D100001C0C0968D939D932F5F243149F74FBF2B +:101D20008091E800877F8093E8006AE270E0CE014E +:101D300001960E94DF0A14C0AE014F5F5F4F6091B1 +:101D4000EB010E94270A009709F441C02091E800A6 +:101D5000277F2093E800BC0189819A810E94400B73 +:101D60008091E8008B778093E80031C0203879F5C6 +:101D70008091E800877F8093E8008091E201809362 +:101D8000F1008091E8008E778093E8000E94D70BE5 +:101D90001EC021111CC09091E9019230C0F48091C5 +:101DA000E800877F8093E8009093E2010E94D70BC0 +:101DB0008091E201811104C08091E30087FF02C09D +:101DC00084E001C081E08093E6010E9423098091B4 +:101DD000E80083FF0AC08091E800877F8093E800D5 +:101DE0008091EB0080628093EB00AA960FB6F89486 +:101DF000DEBF0FBECDBFDF91CF911F910895089533 +:101E0000CF938091E6018823B1F08091E9008F7033 +:101E10009091EC0090FF02C090E801C090E0C92FC3 +:101E2000C82B1092E9008091E80083FD0E94B10D5B +:101E3000CF70C093E900CF91089590936B01809388 +:101E40006A010895E0916A01F0916B01309721F0E9 +:101E50000190F081E02D099480E00895E0916A01FD +:101E6000F0916B01309721F00280F381E02D09940D +:101E70000895E0916A01F0916B01309721F00480A0 +:101E8000F581E02D09940895209168013091690150 +:101E90008217930771F09093690180936801E09134 +:101EA0006A01F0916B01309721F00680F781E02DF7 +:101EB0000994089520916601309167018217930774 +:101EC00071F09093670180936601E0916A01F0914F +:101ED0006B01309721F00084F185E02D099408957D +:101EE00008950C94700F0E94AE1B0E9443040C9442 +:101EF000741CCF92DF92EF92FF920F931F93CF93B8 +:101F0000DF93CDB7DEB72B970FB6F894DEBF0FBEC9 +:101F1000CDBF0E945B043DE6E32E31E0F32E00E0EE +:101F200010E0C02E802F0E944805F701D1907F015C +:101F3000D826B1F40F5F1F4F0E30110591F78FEFC8 +:101F400089838A831B820E94B71B8160782F9D83BF +:101F50008C8349815A816B818D810E941C1041C004 +:101F60009091CF0191FF04C08B870E944E058B8515 +:101F700020E030E04D2D50E0922FBA01022E02C039 +:101F8000759567950A94E2F760FF25C02E83CF828E +:101F9000EE24E394F12C02C0EE0CFF1C9A95E2F7BC +:101FA00090E08E219F2121E0892B09F420E02887F1 +:101FB0000E94B71B8160782F9A8789874E815F8145 +:101FC00068858A850E941C10F801E359FE4F8081C4 +:101FD0008E25808306C02F5F3F4F2630310561F686 +:101FE000A9CF0E94581F10916C010E94220F181750 +:101FF000A1F00E94220F80936C012B960FB6F894EB +:10200000DEBF0FBECDBFDF91CF911F910F91FF902B +:10201000EF90DF90CF900C9427082B960FB6F89492 +:10202000DEBF0FBECDBFDF91CF911F910F91FF900B +:10203000EF90DF90CF900895CF93DF93CDB7DEB7C9 +:102040002B970FB6F894DEBF0FBECDBF4F835887D6 +:1020500069877A878B87DE01119686E0FD011192F0 +:102060008A95E9F785E0FE01379601900D928A95F1 +:10207000E1F749815A816B817C818D819E810E942B +:1020800070172B960FB6F894DEBF0FBECDBFDF9151 +:10209000CF910895CF93C82F882309F4C1C0823807 +:1020A00059F40E94220F81FDBBC089E30E941C1AD3 +:1020B0000E94E61A89E30CC0833879F40E94220F4B +:1020C00080FDAEC083E50E941C1A0E94E61A83E5DB +:1020D0000E945C1ACF910C94E61A843859F40E943D +:1020E000220F82FD9DC087E40E941C1A0E94E61AFE +:1020F00087E4EECF8CEF8C0F813A48F48C2F0E944E +:102100008B2181118DC08C2F0E941C1AE3CF80E29D +:102110008C0F883048F4C77081E001C0880FCA95E1 +:10212000EAF70E949D1AD6CF8BE58C0F833078F4A6 +:10213000C53A29F0C63A31F482E890E005C081E85A +:1021400090E002C083E890E0CF910C94440F88E5C2 +:102150008C0F833108F064C0C83A39F1C93A41F1B3 +:10216000CA3A49F1CB3A51F1CC3A59F1CD3A61F141 +:10217000C03B69F1CE3A71F1CF3A79F1C13B81F1BF +:10218000C23B89F1C33B91F1C43B99F1C53BA1F13D +:10219000C63BA9F1C73BB1F1C83BB9F1C93BC1F19D +:1021A000CA3BC9F58AE292E038C082EE90E035C0C1 +:1021B00089EE90E032C08AEE90E02FC085EB90E08F +:1021C0002CC086EB90E029C087EB90E026C08CEC19 +:1021D00090E023C08DEC90E020C083E891E01DC02A +:1021E0008AE891E01AC082E991E017C084E991E0A1 +:1021F00014C081E292E011C083E292E00EC084E25A +:1022000092E00BC085E292E008C086E292E005C051 +:1022100087E292E002C080E090E0CF910C945A0FE8 +:10222000CF910895882309F44BC0823859F40E9455 +:10223000220F81FF45C089E30E941C1A0E94E61A02 +:1022400089E30CC0833871F40E94220F80FF38C0EC +:1022500083E50E941C1A0E94E61A83E50E945C1A1C +:102260000C94E61A843859F40E94220F82FF28C089 +:1022700087E40E941C1A0E94E61A87E4EFCF9CEFC5 +:10228000980F913A58F390E2980F983050F4877075 +:1022900091E001C0990F8A95EAF7892F0E94A31A4D +:1022A000DFCF9BE5980F933020F480E090E00C9412 +:1022B000440F885A833120F480E090E00C945A0F48 +:1022C0000895882321F00E949D1A0C94E61A08951F +:1022D000882321F00E94A31A0C94E61A0895CF9245 +:1022E000DF92EF92FF920F931F93CF93DF93CDB7BF +:1022F000DEB728970FB6F894DEBF0FBECDBF8C01B6 +:1023000085E0F801DE01119601900D928A95E1F7C2 +:10231000F801D080E180F280558152955F70238171 +:102320003481232B39F0FFEFEF1206C081E0DF127A +:1023300003C003C081E001C080E080FDE2C2C801AB +:102340005F830E94CE03D982EA8269817A818F2DD0 +:102350000E94181A9E8388870E94CC190E949F1899 +:102360004E815F816885FF2029F00E94BA1A688536 +:102370005F814E81E42FE295EF70F0E0E05AFF4F6D +:102380000C94BD23842F807F142F1F70882311F09D +:102390001295107FFF20B1F0112309F467C280E28B +:1023A000860F883028F4812F68870E949D1A04C008 +:1023B000812F68870E94AD1A688568870E94E61A97 +:1023C000688554C2862F68870E9412116885112380 +:1023D00009F497C2605E812F683018F40E94A31A36 +:1023E00002C00E94B31A28960FB6F894DEBF0FBE43 +:1023F000CDBFDF91CF911F910F91FF90EF90DF90B4 +:10240000CF900C94E61A242F207F842F8F702032D7 +:1024100011F08295807F662319F0613019F12BC08D +:10242000FF20B1F0552309F493C1513009F090C158 +:1024300028960FB6F894DEBF0FBECDBFDF91CF91C7 +:102440001F910F91FF90EF90DF90CF900C94CD1AD9 +:10245000552319F0513009F454C28E830E94D01ACA +:102460008E8189C1FF2021F0523008F04AC270C12C +:10247000511147C280C1FF2021F0552309F468C1E2 +:10248000F5C1552309F477C105C2242F2695269559 +:10249000237030E02115310521F021303105C9F0DC +:1024A00030C2FF2021F0862F942F937002C080E06D +:1024B00090E028960FB6F894DEBF0FBECDBFDF9137 +:1024C000CF911F910F91FF90EF90DF90CF900C94E0 +:1024D000440FFF2021F0862F942F937002C080E0DC +:1024E00090E028960FB6F894DEBF0FBECDBFDF9107 +:1024F000CF911F910F91FF90EF90DF90CF900C94B0 +:102500005A0F862FFF2019F00E94601E02C00E9401 +:10251000C81E28960FB6F894DEBF0FBECDBFDF9160 +:10252000CF911F910F91FF90EF90DF90CF900C947F +:102530004D1F842F837009F076C0F110E2C1262F61 +:10254000229526952770220F220F862F8F70C82E76 +:10255000D12CE12CF12C022E04C0CC0CDD1CEE1C85 +:10256000FF1C0A94D2F764FF10C06FE070E080E0B7 +:1025700090E004C0660F771F881F991F2A95D2F735 +:10258000609570958095909503C060E070E0CB01F8 +:10259000242F269526952370422F50E04230510576 +:1025A000D1F04330510559F16C297D298E299F299D +:1025B0004130510541F128960FB6F894DEBF0FBEA9 +:1025C000CDBFDF91CF911F910F91FF90EF90DF90E2 +:1025D000CF900C94C4186C297D298E299F292896A8 +:1025E0000FB6F894DEBF0FBECDBFDF91CF911F9124 +:1025F0000F91FF90EF90DF90CF900C94DE180E9427 +:10260000C418C701B60128960FB6F894DEBF0FBEF6 +:10261000CDBFDF91CF911F910F91FF90EF90DF9091 +:10262000CF900C94AA18FF2019F0842F817001C05C +:102630008695882309F465C1262F22952695277053 +:10264000220F220F862F8F70C82ED12CE12CF12C57 +:10265000022E04C0CC0CDD1CEE1CFF1C0A94D2F729 +:1026600064FF10C06FE070E080E090E004C0660F8F +:10267000771F881F991F2A95D2F7609570958095CE +:10268000909503C060E070E0CB01242F269526953D +:102690002370422F50E042305105D1F043305105B4 +:1026A00059F16C297D298E299F294130510541F12D +:1026B00028960FB6F894DEBF0FBECDBFDF91CF9145 +:1026C0001F910F91FF90EF90DF90CF900C9498198D +:1026D0006C297D298E299F2928960FB6F894DEBF94 +:1026E0000FBECDBFDF91CF911F910F91FF90EF9063 +:1026F000DF90CF900C94B2190E949819C701B601CF +:1027000028960FB6F894DEBF0FBECDBFDF91CF91F4 +:102710001F910F91FF90EF90DF90CF900C947E1956 +:10272000603FC9F118F4603E50F49BC0623F09F469 +:1027300060C008F44AC0633F09F46FC092C0162F0E +:102740001F70842F8F71FF2099F00E941719812F1D +:1027500028960FB6F894DEBF0FBECDBFDF91CF91A4 +:102760001F910F91FF90EF90DF90CF900C9461112B +:102770000E943819812F28960FB6F894DEBF0FBE3D +:10278000CDBFDF91CF911F910F91FF90EF90DF9020 +:10279000CF900C946811FF20A1F05111B2C0842F8A +:1027A0008F7128960FB6F894DEBF0FBECDBFDF91B4 +:1027B000CF911F910F91FF90EF90DF90CF900C94ED +:1027C0005D19523008F09DC0EACFFF20A1F0842FA0 +:1027D0008F7128960FB6F894DEBF0FBECDBFDF9184 +:1027E000CF911F910F91FF90EF90DF90CF900C94BD +:1027F0001719FF2061F3842F8F7128960FB6F89474 +:10280000DEBF0FBECDBFDF91CF911F910F91FF9023 +:10281000EF90DF90CF900C943819FF2091F0842F27 +:102820008F7128960FB6F894DEBF0FBECDBFDF9133 +:10283000CF911F910F91FF90EF90DF90CF900C946C +:10284000021928960FB6F894DEBF0FBECDBFDF91F8 +:10285000CF911F910F91FF90EF90DF90CF900C944C +:10286000F818FF20A1F0552309F4B1CF862F289640 +:102870000FB6F894DEBF0FBECDBFDF91CF911F9191 +:102880000F91FF90EF90DF90CF900C944A1055235A +:1028900009F4B1CF862F28960FB6F894DEBF0FBE8D +:1028A000CDBFDF91CF911F910F91FF90EF90DF90FF +:1028B000CF900C9412114F70C8010E94AB02289661 +:1028C0000FB6F894DEBF0FBECDBFDF91CF911F9141 +:1028D0000F91FF90EF90DF90CF900C941D184F70E8 +:1028E000C80128960FB6F894DEBF0FBECDBFDF91AA +:1028F000CF911F910F91FF90EF90DF90CF900C94AC +:102900004F0528960FB6F894DEBF0FBECDBFDF91FE +:10291000CF911F910F91FF90EF90DF90CF9008958E +:102920000E94BA1A0E94CA1A0E948F1A0E94E61ABE +:102930000E94F91F0E944D1F80E090E00E94440F0A +:1029400080E090E00C945A0F0E94AA1A0C94901404 +:102950000E940D1A292F22952F7030E02C3031055E +:102960004CF42A3031056CF4225031092230310503 +:1029700090F407C02C30310551F02F30310539F07B +:102980000AC0803E10F0803F31F481E0089593FB4F +:10299000882780F9089580E00895CF93DF9300D0D1 +:1029A00000D01F92CDB7DEB70F900F900F900F9011 +:1029B0000F90DF91CF910895CF93DF9300D000D097 +:1029C00000D0CDB7DEB726960FB6F894DEBF0FBEA7 +:1029D000CDBFDF91CF9108951F93CF93DF93C09127 +:1029E0007B0116E080917C01C81799F0D0E01C9F14 +:1029F000F0011D9FF00D1124E358FE4F40815181DD +:102A000062817381848195810E94DC142196C77054 +:102A1000E9CFDF91CF911F9108954091AD01509181 +:102A2000AE016091AF017091B0018091B1019091C0 +:102A3000B2010C94DC14CF938091B20182958F7017 +:102A400009F05FC08091AF01882309F45AC020913A +:102A50007B01A0917C016091AD017091AE018091EC +:102A6000B0019091B10131E06F3F09F030E0B32F38 +:102A7000C6E02A1709F445C0009721F07F3F21F4F2 +:102A80004B2F03C041E001C040E030E040FD35C0C5 +:102A9000C29FF001C39FF00D1124E358FE4F418106 +:102AA00074132BC04081641328C04281411125C09A +:102AB000438154814817590710F441505109481B6C +:102AC000590B483C5105C8F48091B2018F70806168 +:102AD0008093B20186E0829FF001839FF00D112464 +:102AE000EE57FE4F80818F70806180838DEA91E088 +:102AF0000E946F11CF910C94EC142F5F3F4F277001 +:102B0000B8CFCF910895CF92DF92EF92FF920F93BB +:102B10001F93CF93DF93CDB7DEB762970FB6F894CC +:102B2000DEBF0FBECDBF8C0185E0F801DE011D9632 +:102B300001900D928A95E1F7D8014C9111965C9124 +:102B4000119712966C9112971396ED90FC90149732 +:102B50007091AD01E091AE012091B0013091B101D1 +:102B60002115310531F0EF3F31F481E07F3F19F459 +:102B700003C081E001C080E0B82FB170CB2E80FD92 +:102B80006CC1D090AF01DD2009F4F5C0F091B20125 +:102B9000E216F30638F0C701821B930B883C9105BF +:102BA00048F09BC0209530952E0D3F1D283C3105E7 +:102BB00008F093C08F2F807F09F052C0E51314C036 +:102BC000741312C0D62E61110FC0FF70F061F09324 +:102BD000B2010E940D158DEA91E00E946F11809163 +:102BE000B201F80185836CC1EF2831F05F3F31F409 +:102BF00081E04F3F19F403C081E001C080E080FD17 +:102C000003C081E0862701C080E0F82FF170FF2E1D +:102C100080FF1CC080917B0120917C0136E08217EF +:102C200009F428C190E0389FF001399FF00D11247C +:102C3000E358FE4F7181571306C07081471303C0DC +:102C40007281671303C001968770E9CFD62E662381 +:102C500009F436C18091B20181608093B20153C002 +:102C6000E51308C0741306C0611104C0D80115969D +:102C7000FC93AEC04D875E878D859E856A8B0E94D2 +:102C8000A8146A89882329F1D62E662311F1209190 +:102C9000B201822F82958F7090E002970CF460C091 +:102CA0008091AD019091AE0198878F831986FB8644 +:102CB000EA862C87CE01079651C0E51731F14D8782 +:102CC0005E878D859E856A8B0E94A8146A89811112 +:102CD0002EC0C8010E946F11A4C08F2F807F69F79A +:102CE0007E2DF98AE88A89890E94CD148DEA91E0C7 +:102CF0000E946F11EDEAF1E086E0DF011D928A95F6 +:102D0000E9F70E940D15D12CDBC07413D8CF6111E7 +:102D1000D6CFD8011596FC93C8010E946F11EDEA39 +:102D2000F1E086E0DF011D928A95E9F7C9C0D62E51 +:102D3000662379F22091B201822F82958F7090E004 +:102D4000029774F08091AD019091AE019A838983CE +:102D50001B82FD82EC822E83CE0101960E946F11B0 +:102D600086E0F801ADEAB1E001900D928A95E1F7B5 +:102D70000E941B156FC0E216F30628F0C701821BE4 +:102D8000930B9C0104C0209530952E0D3F1D283CCF +:102D9000310508F052C0D62E662309F49ACFE51308 +:102DA0002CC074132AC08091B20180FD1DC0982FE1 +:102DB00092959F70C9F0D80115968C9315979F3006 +:102DC00039F09F5F9295907F8F70892B15968C9329 +:102DD000C8010E946F1186E0F801ADEAB1E00190F0 +:102DE0000D928A95E1F736C086E0F801ADEAB1E0D0 +:102DF00001900D928A95E1F763C04D875E878D85BE +:102E00009E850E94A814882379F086E0F801ADEA37 +:102E1000B1E001900D928A95E1F70E941B150E9486 +:102E20000D15DD24D3944CC08091B2018160809354 +:102E3000B201C8010E946F1143C07E2DF98AE88A51 +:102E400089890E94CD14EDEAF1E086E0DF011D9250 +:102E50008A95E9F70E940D1533C0662309F439CF2E +:102E60004D875E878D859E850E94A814882309F46E +:102E700030CFCBCF4D875E878D859E850E940D1A02 +:102E8000292F22952F7030E0223031052CF49F70CD +:102E900041F0811106C00CC0243031052CF49F7024 +:102EA00049F4805E883020F0C8010E946F11CF2C59 +:102EB000DC2C06C0D80115969C91907F91F7F8CF35 +:102EC0008D2D62960FB6F894DEBF0FBECDBFDF9199 +:102ED000CF911F910F91FF90EF90DF90CF900895C9 +:102EE0001F93CF93DF93CDB7DEB72C970FB6F8942F +:102EF000DEBF0FBECDBF4F83588769877A878B8728 +:102F00009C87CE0107960E9483158823C1F02F81EC +:102F100038858A859B85892B31F03F3F11F080E011 +:102F200003C02F3FE1F781E0811147C04F815885F1 +:102F300069857A858B859C850E94DC143EC086E07D +:102F4000FE013796DE01119601900D928A95E1F708 +:102F5000FF81E8854A855B854115510531F0EF3FDA +:102F600031F481E0FF3F19F403C081E001C080E04B +:102F700080FD23C020917C0130E0C901019687705B +:102F8000992760917B0170E086179707F1F1F9832B +:102F9000EA835D834C8396E0929FD001939FB00DAE +:102FA0001124A358BE4FFE01319601900D929A95BF +:102FB000E1F780937C010E94EC1416E080917B0184 +:102FC00090917C01891779F1189FC00111248358D1 +:102FD0009E4F0E948315882331F1E0917B011E9F53 +:102FE000F0011124E358FE4F4081518162817381C9 +:102FF000848195810E94DC1480917B0190E0019690 +:103000008770992780937B01D9CF0E94A4141092D6 +:103010007C0110927B01EDEAF1E086E0DF011D9278 +:103020008A95E9F7CACF2C960FB6F894DEBF0FBE8B +:10303000CDBFDF91CF911F910895EF92FF920F9333 +:103040001F93CF93DF939C01009709F471C0F12C7B +:10305000EE24E394E9012196F9018491843740F448 +:10306000843008F056C0813081F0823021F160C098 +:10307000853709F449C0C0F19CE7980F903708F0F4 +:1030800057C08F770E94121146C089010E5F1F4FF3 +:10309000FE01849190E2980F983050F48770FE2DD5 +:1030A00001C0FF0F8A95EAF78F2F0E94BD1A15C045 +:1030B0000E944A1014C089010E5F1F4FFE018491C7 +:1030C00090E2980F983068F48770FE2D01C0FF0FD2 +:1030D0008A95EAF78F2F0E94C31A0E94E61AE80128 +:1030E0001AC00E941211FBCF2E5F3F4FFE01C49108 +:1030F000CC2341F08FE99FE00197F1F700C0000079 +:10310000C150F6CFE90107C0FE01F490E901229613 +:1031100002C00E944A108F2D882341F0EFE9FFE0A2 +:103120003197F1F700C000008150F6CF9E0192CF99 +:10313000DF91CF911F910F91FF90EF900895089527 +:103140006093B7017093B8018093B9019093BA016D +:103150000C9490140F931F930091B7011091B80134 +:103160002091B9013091BA01062B172B282B392B4E +:103170000093B7011093B8012093B9013093BA01BD +:103180001F910F910C9490140F931F930091B7010E +:103190001091B8012091B9013091BA01062317238B +:1031A000282339230093B7011093B8012093B90164 +:1031B0003093BA011F910F910C9490140F931F93A9 +:1031C0000091B7011091B8012091B9013091BA0175 +:1031D00006271727282739270093B7011093B8012E +:1031E0002093B9013093BA011F910F910C94901460 +:1031F0001092B3011092B4011092B5011092B60171 +:103200000C94901441E050E060E070E004C0440F82 +:10321000551F661F771F8A95D2F74093B3015093CD +:10322000B4016093B5017093B6010C94901441E021 +:1032300050E060E070E004C0440F551F661F771F28 +:103240008A95D2F78091B3019091B401A091B50114 +:10325000B091B601842B952BA62BB72B8093B3018D +:103260009093B401A093B501B093B6010C9490145F +:1032700041E050E060E070E004C0440F551F661F5D +:10328000771F8A95D2F740955095609570958091FB +:10329000B3019091B401A091B501B091B60184231E +:1032A0009523A623B7238093B3019093B401A093F1 +:1032B000B501B093B6010C94901441E050E060E089 +:1032C00070E004C0440F551F661F771F8A95D2F720 +:1032D0008091B3019091B401A091B501B091B60174 +:1032E00084279527A627B7278093B3019093B4012D +:1032F000A093B501B093B6010C9490140F931F9353 +:103300000091B3011091B4012091B5013091B60143 +:10331000062B172B282B392B0093B3011093B401E4 +:103320002093B5013093B6011F910F910C94901426 +:103330000F931F930091B3011091B4012091B50137 +:103340003091B60106231723282339230093B301B4 +:103350001093B4012093B5013093B6011F910F91E2 +:103360000C9490140F931F930091B3011091B4012A +:103370002091B5013091B601062717272827392754 +:103380000093B3011093B4012093B5013093B601BB +:103390001F910F910C9490140895CF92DF92EF92A9 +:1033A000FF920F931F93CF93DF93EC01C090B7016F +:1033B000D090B801E090B901F090BA018091B301CA +:1033C0009091B401A091B501B091B601C82AD92A53 +:1033D000EA2AFB2A0FE110E0B701A601002E04C083 +:1033E00076956795579547950A94D2F740FD05C0A5 +:1033F0000150110988F780E007C0BE01802F0E94AC +:103400008C070197A9F3802FDF91CF911F910F9126 +:10341000FF90EF90DF90CF900895CF93DF93EC0172 +:103420000E94CD19BE010E948C07DF91CF910895B3 +:10343000CB010E940D1A089590910C019923D9F0A7 +:1034400090910D019923B9F0982F969596959695A0 +:103450009F3088F5E0910E01F0910F01E90FF11D09 +:10346000877021E030E001C0220F8A95EAF7818160 +:10347000822B8183089540910E0150910F0120E02D +:1034800030E09FEFFA01E20FF31F6281681799F0B5 +:103490009F3F19F4611101C0922F2F5F3F4F2E30D3 +:1034A000310581F79F3F39F0FA01E90FF11D97FDD2 +:1034B000FA9582830895089590910C019923E1F083 +:1034C00090910D019923C1F0982F96959695969518 +:1034D0009F3020F5E0910E01F0910F01E90FF11DF1 +:1034E000877021E030E001C0220F8A95EAF720952D +:1034F000818128232183089540910E0150910F016D +:1035000020E030E0FA01E20FF31F9281981301C02E +:1035100012822F5F3F4F2E303105A1F7089581E0D1 +:1035200090E0E0910E01F0910F01E80FF91F108279 +:10353000019680319105A9F708959091CE01982BBD +:103540009093CE01089580959091CE019823909309 +:10355000CE0108951092CE0108959091CD01982B3F +:103560009093CD01089580959091CD0198239093EB +:10357000CD0108951092CD0108959091CC01982B22 +:103580009093CC01089580959091CC0198239093CD +:10359000CC0108951092CC0108958093BB01089549 +:1035A0001092BB01089540910E0150910F0120E04F +:1035B00030E080E0FA01E20FF31F918191118F5FFB +:1035C0002F5F3F4F2F303105A9F70895E0910E018D +:1035D000F0910F018091CE018083E0910E01F09176 +:1035E0000F0180819091CD01892B8083E0910E01A4 +:1035F000F0910F0180819091CC01892B8083909173 +:10360000BB01992361F0E0910E01F0910F018081DF +:10361000892B80830E94D31A81111092BB01809163 +:103620000E0190910F010C942E0FCF92DF92EF922A +:10363000FF920F931F936C01EE24FF24C114D10459 +:10364000E104F10421F46B017C0180E001C080E120 +:1036500033272F2D1E2D0D2D0115110521053105A7 +:1036600019F0885F6801790197018601A4E0369519 +:10367000279517950795AA95D1F7011511052105ED +:10368000310519F08C5F6801790197018601F2E03C +:103690003695279517950795FA95D1F701151105D8 +:1036A0002105310519F08E5F68017901B701A60186 +:1036B0007695679557954795452B462B472B09F0EF +:1036C0008F5F1F910F91FF90EF90DF90CF90089543 +:1036D0008091E601843021F11092D00120E488E14C +:1036E00090E00FB6F894A895809360000FBE2093E9 +:1036F000600080E00E94270883B7817F846083BFD9 +:1037000083B7816083BF7894889583B78E7F83BFAA +:1037100088E10FB6F89480936000109260000FBEAD +:10372000089508950895CF930E94911B0E945B0411 +:103730000E94921BC0E08C2F0E944805811105C099 +:10374000CF5FCE30C1F780E001C081E0CF91089516 +:103750000E94A4140E94220F0C94270882E084BDCA +:1037600093E095BD9AEF97BD80936E0008952FB7B3 +:10377000F8948091D1019091D201A091D301B091A0 +:10378000D4012FBF0895CF92DF92EF92FF920F9353 +:103790001F932FB7F8944091D1015091D2016091BD +:1037A000D3017091D4012FBF6A017B01EE24FF2465 +:1037B0008C0120E030E0C016D106E206F30610F4DA +:1037C00041505109481B590BCA011F910F91FF909D +:1037D000EF90DF90CF9008951F920F920FB60F9247 +:1037E00011248F939F93AF93BF938091D1019091B8 +:1037F000D201A091D301B091D4010196A11DB11DB8 +:103800008093D1019093D201A093D301B093D401BE +:10381000BF91AF919F918F910F900FBE0F901F900E +:1038200018950E94280CF8942FEF87EA91E6215012 +:1038300080409040E1F700C0000087E090EBDC01A1 +:103840008093F0019093F101A093F201B093F30102 +:103850002CE088E190E00FB6F894A8958093600082 +:103860000FBE20936000FFCFEF92FF920F931F9344 +:10387000CF93DF93E82EF12C8F2D0E944805C0E0F6 +:10388000D0E0082F10E098010C2E02C03595279546 +:103890000A94E2F720FD05C02196C630D10599F7BC +:1038A00009C06C2F7F2D80E00E945005E812F4CFF4 +:1038B00081E005C0F3948EE0F812DECF80E0DF9166 +:1038C000CF911F910F91FF90EF900895CF93C82F44 +:1038D0008CE20E94341C882321F08C2FCF910C9411 +:1038E000341C80E0CF910895CF930E94B91D8111BF +:1038F00002C00E949F1DC5E6C15049F00E945B04B2 +:103900008FE39CE90197F1F700C00000F5CF89E251 +:103910000E94661C811111C18AE20E94661C8111FD +:103920000E949F1D85E00E94661C81110E94111C4F +:103930000E94C41D8093CF0187E00E94661C8823EB +:1039400099F18BE10E94661C882351F09091CF0180 +:1039500091FB882780F921E0822780FB91F922C022 +:103960008EE00E94661C882351F09091CF0192FB5B +:10397000882780F921E0822780FB92F913C080E13B +:103980000E94661C9091CF01882341F093FB882709 +:1039900080F921E0822780FB93F904C0892F80956C +:1039A00080FB90F99093CF018091CF010E94C81DB8 +:1039B0000E94D61D8093EF0180EE0E94661C882332 +:1039C00041F08091EF01982F909590FB80F98093C2 +:1039D000EF0189E30E94661C882359F09091EF0162 +:1039E00091FB882780F921E0822780FB91F9909351 +:1039F000EF0182EE0E94661C882359F09091EF013E +:103A000092FB882780F921E0822780FB92F990932E +:103A1000EF0186EE0E94661C882359F09091EF0119 +:103A200093FB882780F921E0822780FB93F990930C +:103A3000EF0183EE0E94661C882359F09091EF01FC +:103A400094FB882780F921E0822780FB94F99093EA +:103A5000EF0185E30E94661C882359F09091EF01E5 +:103A600095FB882780F921E0822780FB95F99093C8 +:103A7000EF0181E30E94661C882359F09091EF01C9 +:103A800096FB882780F921E0822780FB96F99093A6 +:103A9000EF0181E10E94661C882359F09091EF01AB +:103AA00097FB882780F921E0822780FB97F9909384 +:103AB000EF018091EF010E94DA1D8091EF0187FBF9 +:103AC000882780F980930D0187E20E94661CC82F29 +:103AD0008EE10E94661C8111C2608FE10E94661C0B +:103AE0008111C46080E20E94661C8111C86081E27D +:103AF0000E94661C8111C06182E20E94661C8111D5 +:103B0000C06283E20E94661C8111C06484E20E944C +:103B1000661C882311F0C06802C0CC2329F08C2FCA +:103B20000E94D11D6C2F03C00E94CD1D682F70E034 +:103B300080E090E0CF910C94A018CF9108956DEEA5 +:103B40007EEF80E090E00E94F72360E082E090E06A +:103B50000E94E52360E083E090E00E94E52360E0BE +:103B600084E090E00E94E52360E085E090E00C9422 +:103B7000E52380E090E00E94DF2321E08D3E9E4F10 +:103B800009F020E0822F089582E090E00C94D72382 +:103B9000682F82E090E00C94E52383E090E00C94A1 +:103BA000D723682F83E090E00C94E52384E090E035 +:103BB0000C94D723682F84E090E00C94E523809147 +:103BC000D70180FF0BC06091130185E0689FB001B1 +:103BD000112475956795759567952AC081FF09C071 +:103BE0006091130185E0689FB00111247595679578 +:103BF0001FC082FF07C06091130185E0689FB0017C +:103C0000112416C04091D8014423C9F060911201DB +:103C1000461788F72091130185E0289F9001112411 +:103C2000429FC001439F900D112470E00E94A92380 +:103C30006038710540F46115710539F002C065E026 +:103C400070E0862F08958FE7089581E008958091B0 +:103C5000D70180FF08C06091110170E075956795EC +:103C60007595679521C081FF06C06091110170E0D4 +:103C70007595679519C082FF04C06091110170E0CD +:103C800010C08091D8018823C1F06091100186177F +:103C9000A0F790911101989FC001112470E00E943B +:103CA000A9236038710528F46115710521F0862F6C +:103CB00008958FE7089581E0089561E070E0F4CF02 +:103CC000803F21F40E94DF1D819504C0813F29F4CB +:103CD0000E94DF1D8093DB010895823F21F40E9442 +:103CE000DF1D819504C0833F29F40E94DF1D80936E +:103CF000DA010895893F19F40E94271E05C08A3F02 +:103D000031F40E94271E81958093DC0108958B3F3A +:103D100021F40E94271E819504C08C3F29F40E9443 +:103D2000271E8093DD010895843F21F48091D901FD +:103D3000816017C0853F21F48091D901826011C054 +:103D4000863F21F48091D90184600BC0873F21F424 +:103D50008091D901886005C0883F31F48091D901F4 +:103D600080618093D90108958D3F21F48091D7011E +:103D700081600BC08E3F21F48091D701826005C025 +:103D80008F3F29F48091D70184608093D7010895F3 +:103D9000803F39F48091DB0187FF6CC01092DB011A +:103DA00069C0813F29F48091DB011816BCF362C021 +:103DB0009091DA01823F29F497FF5CC01092DA01FA +:103DC00059C0833F19F41916CCF354C0893F41F40C +:103DD0008091DC0118160CF04DC01092DC014AC035 +:103DE0008A3F29F48091DC0187FF44C0F6CF8B3FE6 +:103DF00039F48091DD0187FF3DC01092DD013AC0AA +:103E00008C3F29F48091DD011816BCF333C0843F48 +:103E100021F48091D9018E7F17C0853F21F48091D4 +:103E2000D9018D7F11C0863F21F48091D9018B7F0C +:103E30000BC0873F21F48091D901877F05C0883F5F +:103E400031F48091D9018F7E8093D90113C08D3FC9 +:103E500021F48091D7018E7F0BC08E3F21F4809199 +:103E6000D7018D7F05C08F3F29F48091D7018B7FCB +:103E70008093D7018091DA0181110EC08091DB011E +:103E800081110AC08091DC01811106C08091DD01A1 +:103E9000811102C01092D801089589ED91E00E942D +:103EA000390F0E94B71B9093D6018093D5010895D6 +:103EB0001F93CF93DF938091D5019091D6010E94FB +:103EC000C31B4091D801442321F02091140130E01C +:103ED00006C0209115015AE0259F900111248217F8 +:103EE000930708F482C08091DA011091DB01D09130 +:103EF000DC01C091DD01811107C0111105C0D11194 +:103F000003C0CC2309F471C04F3F19F04F5F4093B9 +:103F1000D801181624F40E94DF1D8093DA018091E5 +:103F2000DA0187FF05C00E94DF1D81958093DA01C9 +:103F3000111624F40E94DF1D8093DB018091DB01C8 +:103F400087FF05C00E94DF1D81958093DB01609192 +:103F5000DA01662339F11091DB01112319F177277A +:103F600067FD7095872F972F0E94BA2223E333E3D2 +:103F700043E35FE30E941E230E9487226093DA01DD +:103F8000612F772767FD7095872F972F0E94BA22A0 +:103F900023E333E343E35FE30E941E230E9487226F +:103FA0006093DB011D1624F40E94271E8093DC0120 +:103FB0008091DC0187FF05C00E94271E81958093B8 +:103FC000DC011C1624F40E94271E8093DD018091E1 +:103FD000DD0187FF05C00E94271E81958093DD01CA +:103FE000DF91CF911F910C944D1FDF91CF911F91C5 +:103FF0000895E9EDF1E085E0DF011D928A95E9F78A +:104000001092D8011092D7010895833081F128F4DD +:10401000813059F08230D1F00895853009F449C0DB +:10402000B8F1863009F456C0089520911501862F05 +:1040300090E0820F911D8F3F910520F4620F6093F5 +:10404000150108958FEF80931501089520911401B3 +:10405000862F90E0820F911D8F3F910520F4620F13 +:104060006093140108958FEF8093140108952091B7 +:104070001301862F90E0820F911D8F3F910520F450 +:10408000620F6093130108958FEF809313010895D9 +:1040900020911201862F90E0820F911D8F3F910594 +:1040A00020F4620F6093120108958FEF8093120144 +:1040B000089520911101862F90E0820F911D8F3F6E +:1040C000910520F4620F6093110108958FEF8093A2 +:1040D0001101089520911001862F90E0820F911D0B +:1040E0008F3F910520F4620F6093100108958FEFC8 +:1040F000809310010895833011F128F4813049F044 +:10410000823091F00895853081F120F18630C1F13F +:10411000089580911501681720F4861B809315017E +:10412000089510921501089580911401681720F4E4 +:10413000861B8093140108951092140108958091B4 +:104140001301681720F4861B8093130108951092C1 +:104150001301089580911201681720F4861B809343 +:1041600012010895109212010895809111016817AB +:1041700020F4861B80931101089510921101089577 +:1041800080911001681720F4861B80931001089518 +:104190001092100108958D3109F442C020F58E303F +:1041A00009F477C070F4873009F459C018F48630E8 +:1041B000F1F134C0883009F4A8C08B3009F4A5C0EF +:1041C0002DC0863109F4A1C038F4803109F472C0E1 +:1041D000813109F479C022C0893109F496C08B314C +:1041E00009F44DC01BC0853309F487C048F48732F9 +:1041F00009F483C008F473C0893209F47EC00EC08C +:10420000833438F48A3308F068C0883309F47DC0F9 +:1042100005C0833409F471C0883499F080E00895B2 +:104220000E9441220E94220F0E9427086EC08091A6 +:10423000CF01817F8E7F8093CF0181E08093DF016A +:1042400008950E94A4142FEF83ED90E32150804045 +:104250009040E1F700C000000E94111C56C09091F0 +:10426000CF01892F8095817080FB90F919F09660BD +:1042700098601DC0997F977F9093CF0146C0909121 +:10428000CF0191FB882780F921E0822780FB91F9FB +:1042900009C09091CF0192FB882780F921E0822705 +:1042A00080FB92F99093CF01882379F191609093EC +:1042B000CF0108959091CF0193FB882780F921E0E9 +:1042C000822780FB93F9EECF0E94A41480910D0108 +:1042D00091E0892780930D0118C027EC01C023EEDF +:1042E000280F61E070E080E090E004C0660F771F67 +:1042F000881F991F2A95D2F704C061E070E080E022 +:1043000090E00E94A0180E94A41481E0089580E02B +:10431000089580E00895CF93C82F8091DF01813008 +:1043200079F018F08230D1F184C0A0910E01B091E3 +:104330000F018C91813169F0823209F07CC009C093 +:10434000A0910E01B0910F018C91813111F0823258 +:1043500049F48C2F0E94872181111DC08C2F0E944F +:10436000CB201AC08C2F0E948921811114C0C43126 +:1043700079F048F4CB3079F0C03109F060C082E0C8 +:104380008093DF0108C0C93219F0C83321F057C04B +:104390001092DF0154C081E0817053C0C93289F1AD +:1043A00018F5C43171F1A8F4C73009F046C08AE0AD +:1043B0008093150194E19093140193E0909313017D +:1043C0008093120188E08093110188E280931001AC +:1043D00034C0CE51C63088F5EC2FF0E0E65DFE4FDC +:1043E00080818093DE0129C0CE34E9F020F4CB3403 +:1043F00021F56AE013C0C13579F0C235F1F461E00E +:104400000DC08091DE01882319F01092DE0115C0E5 +:1044100081E08093DF0115C061E006C08091DE017C +:104420000E9405200AC06AE08091DE010E947B2084 +:1044300004C01092DF0180E004C081E002C080E08F +:10444000ABCFCF910895E1E8F0E080818860808370 +:104450008081816080838FB7F89493E09093890086 +:1044600090ED909388008FBF0895EFE6F0E0808193 +:10447000826080830895EFE6F0E080818D7F808305 +:104480000895EFE6F0E0808192E089278083089527 +:104490001F920F920FB60F9211242F933F934F93B9 +:1044A0005F936F937F938F939F93AF93BF93EF939C +:1044B000FF938091E0019091E10101969093E101D9 +:1044C0008093E001811103C082E00E942708E091FF +:1044D000E101E695E695F0E0E657FB4FE491809127 +:1044E000E0018E1303C080E00E942708FF91EF9146 +:1044F000BF91AF919F918F917F916F915F914F91FC +:104500003F912F910F900FBE0F901F90189504D0E0 +:104510006894B1118DC0089570D088F09F5790F0C5 +:10452000B92F9927B751A0F0D1F0660F771F881FD8 +:10453000991F1AF0BA95C9F712C0B13081F077D03F +:10454000B1E0089574C0672F782F8827B85F39F0DD +:10455000B93FCCF3869577956795B395D9F73EF437 +:1045600090958095709561957F4F8F4F9F4F0895DF +:10457000E89409C097FB3EF49095809570956195FD +:104580007F4F8F4F9F4F9923A9F0F92F96E9BB27B3 +:104590009395F695879577956795B795F111F8CF2F +:1045A000FAF4BB0F11F460FF1BC06F5F7F4F8F4F9A +:1045B0009F4F16C0882311F096E911C0772321F090 +:1045C0009EE8872F762F05C0662371F096E8862F28 +:1045D00070E060E02AF09A95660F771F881FDAF77F +:1045E000880F9695879597F9089557FD9058440F31 +:1045F000551F59F05F3F71F04795880F97FB991F42 +:1046000061F09F3F79F087950895121613061406FE +:10461000551FF2CF4695F1DF08C01616170618068B +:10462000991FF1CF86957105610508940895E89466 +:10463000BB2766277727CB0197F908950BD078C061 +:1046400069D028F06ED018F0952309F05AC05FC0E9 +:104650001124EECFCADFA0F3959FD1F3950F50E060 +:10466000551F629FF001729FBB27F00DB11D639F24 +:10467000AA27F00DB11DAA1F649F6627B00DA11DCA +:10468000661F829F2227B00DA11D621F739FB00D70 +:10469000A11D621F839FA00D611D221F749F3327E0 +:1046A000A00D611D231F849F600D211D822F762F79 +:1046B0006A2F11249F5750408AF0E1F088234AF076 +:1046C000EE0FFF1FBB1F661F771F881F91505040C2 +:1046D000A9F79E3F510570F014C0AACF5F3FECF3DD +:1046E000983EDCF3869577956795B795F795E795AE +:1046F0009F5FC1F7FE2B880F911D9695879597F9BF +:10470000089597F99F6780E870E060E008959FEF53 +:1047100080EC089500240A94161617061806090658 +:10472000089500240A941216130614060506089527 +:10473000092E0394000C11F4882352F0BB0F40F4AF +:10474000BF2B11F460FF04C06F5F7F4F8F4F9F4FEF +:10475000089597FB072E16F4009407D077FD09D033 +:104760000E94C32307FC05D03EF4909581959F4F8E +:104770000895709561957F4F0895EE0FFF1F059086 +:10478000F491E02D0994AA1BBB1B51E107C0AA1F9D +:10479000BB1FA617B70710F0A61BB70B881F991FE2 +:1047A0005A95A9F780959095BC01CD010895F99986 +:1047B000FECF92BD81BDF89A992780B50895A8E1F2 +:1047C000B0E042E050E00C94FF23262FF999FECF91 +:1047D00092BD81BDF89A019700B4021639F01FBA54 +:1047E00020BD0FB6F894FA9AF99A0FBE0895019673 +:1047F000272F0E94E6230C94E523DC01CB01FC016A +:10480000F999FECF06C0F2BDE1BDF89A319600B429 +:0E4810000D9241505040B8F70895F894FFCF34 +:10481E0020022908B60893085F082C080101BC0184 +:10482E0028080A03140A3F4D36394B04FE03C80309 +:10483E008F0322033B0354036D0301020304050699 +:04484E00070809004E :00000001FF diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c b/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c index 24ff1c6884..18bace4ebc 100644 --- a/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c +++ b/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c @@ -7,6 +7,9 @@ #define SYMB 1 // symbols #define MDIA 2 // media keys +#define LSFTO M(0) // Left shift, open parens when tapped +#define RSFTC M(1) // Right shift, close parens when tapped + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * @@ -17,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | BkSp | A | S | D | F | G |------| |------| H | Alt/J| K | L |; / L2| LGui/' | * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| - * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * |LShift/(|Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl|RShift/)| * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | * `----------------------------------' `----------------------------------' @@ -36,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + LSFTO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, @@ -45,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_RGHT, KC_6,KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(SYMB), KC_Y,KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_H,ALT_T(KC_J),KC_K, KC_L, LT(MDIA,KC_SCLN),GUI_T(KC_QUOT), - MEH_T(KC_NO),KC_N,KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + MEH_T(KC_NO),KC_N,KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), RSFTC, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, KC_LALT, CTL_T(KC_ESC), KC_PGUP, @@ -140,17 +143,37 @@ const uint16_t PROGMEM fn_actions[] = { [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) }; +static uint16_t key_timer; + const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - // MACRODOWN only works in this function switch(id) { - case 0: - if (record->event.pressed) { - register_code(KC_RSFT); - } else { - unregister_code(KC_RSFT); + case 0: { + if (record->event.pressed) { + key_timer = timer_read(); // if the key is being pressed, we start the timer. + register_code(KC_LSFT); // we're now holding down Shift. + } else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down"). + if (timer_elapsed(key_timer) < 150) { // 150 being 150ms, the threshhold we pick for counting something as a tap. + register_code(KC_9); // sending 9 while Shift is held down gives us an opening paren + unregister_code(KC_9); // now let's let go of that key + } + unregister_code(KC_LSFT); // let's release the Shift key now. + } + break; + } + case 1: { + if (record->event.pressed) { + key_timer = timer_read(); // Now we're doing the same thing, only for the right shift/close paren key + register_code(KC_RSFT); + } else { + if (timer_elapsed(key_timer) < 150) { + register_code(KC_0); + unregister_code(KC_0); + } + unregister_code(KC_RSFT); + } + break; } - break; } return MACRO_NONE; }; @@ -183,3 +206,5 @@ void matrix_scan_user(void) { } }; + +