summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md99
-rw-r--r--keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex2156
-rw-r--r--keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c45
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 <keymap_extras/keymap_colemak.h>
+ #include <keymap_colemak.h>
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
-:10314000A093B3