diff --git a/fhem/CHANGED b/fhem/CHANGED index 66d46e1fd..9057e68bf 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,17 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - bugfix: 00_SIGNALduino: Version 3.2.0 Module & Firmware + serval fixes and enhacements + improved stability + supports many new protocol + Supports ITv3 sockets and switches + new sendMsg Function + You need to flash your SIGNALduino + with the new firmware. + - bugfix: 14_Hideki: support rain sensors + - bugfix: 14_SD_WS07: Fixed some wordings + - feature: 14_SD_WS09 Module for WH1080 + (WS-0101, TFA30.3189) & CTW600 868MHz OOK/AS - feature: TimeSeries: median, holdtime for event-aggregator - feature: 57_CALVIEW: added internal notify-fn for calendar-devices, added attr disable for internal notify-fn, diff --git a/fhem/FHEM/00_SIGNALduino.pm b/fhem/FHEM/00_SIGNALduino.pm index 94974583c..5428fd988 100644 --- a/fhem/FHEM/00_SIGNALduino.pm +++ b/fhem/FHEM/00_SIGNALduino.pm @@ -1,12 +1,14 @@ ############################################## -# $Id$ +# $Id$ +# +# v3.2-dev # The file is taken from the FHEMduino project and modified in serval ways for processing the incomming messages # see http://www.fhemwiki.de/wiki/SIGNALDuino # It was modified also to provide support for raw message handling which it's send from the SIGNALduino # The purpos is to use it as addition to the SIGNALduino which runs on an arduno nano or arduino uno. # It routes Messages serval Modules which are already integrated in FHEM. But there are also modules which comes with it. # N. Butzek, S. Butzek, 2014-2015 -# +# S.Butzek 2016 package main; @@ -15,8 +17,9 @@ use strict; use warnings; use Time::HiRes qw(gettimeofday); use Data::Dumper qw(Dumper); +use Scalar::Util qw(looks_like_number); -use POSIX qw( floor); # can be removed +#use POSIX qw( floor); # can be removed #use Math::Round qw(); sub SIGNALduino_Attr(@); @@ -31,7 +34,7 @@ sub SIGNALduino_Write($$$); sub SIGNALduino_SimpleWrite(@); -my $debug=0; +#my $debug=0; my %gets = ( # Name, Data to send to the SIGNALduino, Regexp for the answer "version" => ["V", '^V\s.*SIGNALduino.*'], @@ -40,6 +43,8 @@ my %gets = ( # Name, Data to send to the SIGNALduino, Regexp for the answer "uptime" => ["t", '^[0-9]+' ], "cmds" => ["?", '.*Use one of[ 0-9A-Za-z]+[\r\n]*$' ], "ITParms" => ["ip",'.*'], + "ping" => ["P",'OK\r\n'], + "config" => ["CG",'^MS.*MU.*MC.*\r\n'], # "ITClock" => ["ic", '\d+'], # "FAParms" => ["fp", '.*' ], # "TCParms" => ["dp", '.*' ], @@ -48,12 +53,14 @@ my %gets = ( # Name, Data to send to the SIGNALduino, Regexp for the answer my %sets = ( - "raw" => "", - "flash" => "noarg", - "reset" => "noarg", + "raw" => '', + "flash" => '', + "reset" => 'noArg', #"disablereceiver" => "", - "ITClock" => "200,300,400", - + "ITClock" => 'slider,100,20,700', + "enableMessagetype" => 'syncedMS,unsyncedMU,manchesterMC', + "disableMessagetype" => 'syncedMS,unsyncedMU,manchesterMC', + 'sendMsg' => "", ); ## Supported Clients per default @@ -63,22 +70,28 @@ my $clientsSIGNALduino = ":IT:" ."OREGON:" ."CUL_TX:" # ."SD_AS:" - ."SIGNALduino_un:" ."Hideki:" - ."SD_WS07:" + ."SD_WS07:" + ."SD_WS09:" +# ."SD_WS:" + ."RFXX10REC:" + ."SIGNALduino_un:" ; ## default regex match List for dispatching message to logical modules, can be updated during runtime because it is referenced my %matchListSIGNALduino = ( "1:IT" => "^i......", # Intertechno Format "2:CUL_TCM97001" => "^s[A-Fa-f0-9]+", # Any hex string beginning with s -# "3:SIGNALduino_RSL" => "^rA-Fa-f0-9]+", # Any hex string beginning with r +# "3:SIGNALduino_RSL" => "^r[A-Fa-f0-9]+", # Any hex string beginning with r "5:CUL_TX" => "^TX..........", # Need TX to avoid FHTTK -# "6:SD_AS" => "^P2#[A-Fa-f0-9]{7,8}", # Arduino based Sensors, should not be default +# "6:SD_AS" => "^P2#[A-Fa-f0-9]{7,8}", # Arduino based Sensors, should not be default "4:OREGON" => "^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*", - "7:Hideki" => "^P12#75[A-F0-9]", - "10:SD_WS07" => "^P7#[A-Fa-f0-9]{6}F[A-Fa-f0-9]{2}", - "X:SIGNALduino_un" => '^[uP]\d+#.*', + "7:Hideki" => "^P12#75[A-F0-9]+", + "10:SD_WS07" => "^P7#[A-Fa-f0-9]{6}F[A-Fa-f0-9]{2}", + "11:SD_WS09" => "^P9#[A-Fa-f0-9]+", +# "12:SD_WS" => '^W\d+#.*', + "13:RFXX10REC" => '^(20|29)[A-Fa-f0-9]+', + "X:SIGNALduino_un" => '^[uP]\d+#.*', ); @@ -95,7 +108,7 @@ my %ProtocolListSIGNALduino = ( preamble => 's', # prepend to converted message postamble => '00', # Append to converted message clientmodule => 'CUL_TCM97001', # not used now - modulematch => '^s[A-Fa-f0-9]+', # not used now + #modulematch => '^s[A-Fa-f0-9]+', # not used now length_min => '24', length_max => '40', paddingbits => '8', # pad up to 8 bits, default is 4 @@ -112,8 +125,8 @@ my %ProtocolListSIGNALduino = ( preamble => 'r', # prepend to converted message postamble => '', # Append to converted message clientmodule => 'SIGNALduino_RSL', # not used now - modulematch => '^r[A-Fa-f0-9]+', # not used now - length_min => '12', + #modulematch => '^r[A-Fa-f0-9]+', # not used now + length_min => '12', }, "2" => @@ -127,7 +140,7 @@ my %ProtocolListSIGNALduino = ( format => 'twostate', preamble => 'P2#', # prepend to converted message clientmodule => 'SD_AS', # not used now - modulematch => '^P2#[A-Fa-f0-9]{7,8}', # not used now + modulematch => '^P2#.{7,8}', length_min => '32', length_max => '34', # Don't know maximal lenth of a valid message paddingbits => '8', # pad up to 8 bits, default is 4 @@ -152,33 +165,32 @@ my %ProtocolListSIGNALduino = ( }, "4" => { - name => 'itv3', + name => 'arctech2', id => '4', - one => [3,-1], - zero => [1,-3], + #one => [1,-5,1,-1], + #zero => [1,-1,1,-5], + one => [1,-5], + zero => [1,-1], #float => [-1,3], # not full supported now, for later use - sync => [1,-30], - clockabs => -1, # -1 = auto - format => 'tristate', # tristate can't be migrated from bin into hex! - preamble => 'i', # Append to converted message - clientmodule => 'IT', # not used now - modulematch => '^i......', # not used now - length_min => '68', - #length_max => '76', # Don't know maximal lenth of a valid message - - - }, - "5" => ## Similar protocol as intertechno, but without sync - { - name => 'unitec', - id => '5', - one => [3,-1], - zero => [1,-3], - #float => [-1,3], # not full supported now, for later use - #sync => [0,0], # This special device has no sync + sync => [1,-14], clockabs => -1, # -1 = auto format => 'twostate', # tristate can't be migrated from bin into hex! preamble => 'i', # Append to converted message + postamble => '00', # Append to converted message + clientmodule => 'IT', # not used now + modulematch => '^i......', # not used now + length_min => '32', + #length_max => '76', # Don't know maximal lenth of a valid message + }, + "5" => ## Similar protocol as intertechno, but without sync + { + name => 'unitec6899', + id => '5', + one => [3,-1], + zero => [1,-3], + clockabs => 500, # -1 = auto + format => 'twostate', # tristate can't be migrated from bin into hex! + preamble => 'p5#', # Append to converted message clientmodule => 'IT', # not used now modulematch => '^i......', # not used now length_min => '24', @@ -187,7 +199,7 @@ my %ProtocolListSIGNALduino = ( "6" => ## Eurochron Protocol { - name => 'weatherID6', + name => 'weatherID6', id => '6', one => [1,-10], zero => [1,-5], @@ -196,23 +208,23 @@ my %ProtocolListSIGNALduino = ( format => 'twostate', # tristate can't be migrated from bin into hex! preamble => 'u6#', # Append to converted message clientmodule => 'undef', # not used now - modulematch => '^u......', # not used now + #modulematch => '^u......', # not used now length_min => '24', }, - "7" => ## weather sensors like EAS800z + "7" => ## weather sensors like EAS800z { - name => 'weatherID7', - id => '7', - one => [1,-4], - zero => [1,-2], - sync => [1,-8], - clockabs => 484, - format => 'twostate', - preamble => 'P7#', # prepend to converted message + name => 'weatherID7', + id => '7', + one => [1,-4], + zero => [1,-2], + sync => [1,-8], + clockabs => 484, + format => 'twostate', + preamble => 'P7#', # prepend to converted message clientmodule => 'undef', # not used now - modulematch => '^P7#......', # not used now - length_min => '35', + modulematch => '^P7#.{6}F.{2}', # not used now + length_min => '35', length_max => '40', }, @@ -222,15 +234,14 @@ my %ProtocolListSIGNALduino = ( id => '8', one => [1,-2], zero => [2,-2], - #float => [-1,3], # not full supported now, for later use #sync => [1,-8], # - clockabs => 470, # -1 = auto undef=noclock - format => 'pwm', # tristate can't be migrated from bin into hex! + clockabs => 470, # + format => 'pwm', # preamble => 'TX', # prepend to converted message clientmodule => 'ittx', # not used now modulematch => '^TX......', # not used now - length_min => '44', - length_max => '45', + length_min => '43', + length_max => '44', remove_zero => 1, # Removes leading zeros from output }, @@ -244,27 +255,20 @@ my %ProtocolListSIGNALduino = ( #sync => [1,-8], # clockabs => 480, # -1 = auto undef=noclock format => 'pwm', # tristate can't be migrated from bin into hex! - preamble => 'u9#', # prepend to converted message + preamble => 'P9#', # prepend to converted message clientmodule => 'undef', # not used now - modulematch => '^u9#.....', # not used now + #modulematch => '^u9#.....', # not used now length_min => '70', length_max => '120', }, "10" => ## Oregon Scientific 2 { - name => 'OSV2', + name => 'OSV2o3', id => '10', - #one => [3,-2], - #zero => [1,-2], - #float => [-1,3], # not full supported now, for later use - #sync => [1,-8], # - #clockabs => 480, # -1 = auto undef=noclock - clockrange => [390,520], # min , max + clockrange => [300,520], # min , max format => 'manchester', # tristate can't be migrated from bin into hex! - #preamble => '', # prepend to converted message - #clientmodule => '41_OREGON', # not used now - #modulematch => '', # not used now + modulematch => '^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*', length_min => '64', length_max => '220', method => \&SIGNALduino_OSV2 # Call to process this message @@ -279,7 +283,7 @@ my %ProtocolListSIGNALduino = ( format => 'manchester', # tristate can't be migrated from bin into hex! preamble => 'P2#', # prepend to converted message #clientmodule => '14_SD_AS', # not used now - #modulematch => '^P2#[A-Fa-f0-9]{7,8}, # not used now + modulematch => '^P2#.{7,8}', length_min => '52', length_max => '56', method => \&SIGNALduino_AS # Call to process this message @@ -293,11 +297,11 @@ my %ProtocolListSIGNALduino = ( format => 'manchester', preamble => 'P12#', # prepend to converted message #clientmodule => '14_hideki', # not used now - #modulematch => '^P12#75[A-F0-9]{17,30}', # not used now + modulematch => '^P12#75.+', # not used now length_min => '72', length_max => '104', method => \&SIGNALduino_Hideki # Call to process this message - }, + }, "13" => ## FA21RF { name => '21RF', @@ -314,7 +318,7 @@ my %ProtocolListSIGNALduino = ( length_max => '40', }, "14" => ## Heidemann HX - { + { name => 'Heidemann HX', id => '14', one => [1,-2], @@ -328,7 +332,6 @@ my %ProtocolListSIGNALduino = ( #modulematch => '', # not used now length_min => '10', length_max => '20', - #method => \&SIGNALduino_Cresta # Call to process this message }, "15" => ## TCM234759 { @@ -336,7 +339,6 @@ my %ProtocolListSIGNALduino = ( id => '15', one => [1,-1], zero => [1,-2], - #float => [-1,3], # not full supported now, for later use sync => [1,-45], # clockabs => 700, format => 'twostate', @@ -351,32 +353,36 @@ my %ProtocolListSIGNALduino = ( { name => 'Dooya shutter', id => '16', - one => [-3,1], - zero => [1,-3], - #sync => [18,-6], # protocol has a sync, but is detected as MU - clockabs => 250, + one => [2,-1], + zero => [1,-2], + start => [16,-5], + clockabs => 300, format => 'twostate', preamble => 'u16#', # prepend to converted message #clientmodule => '', # not used now #modulematch => '', # not used now - length_min => '30', + length_min => '40', length_max => '40', }, - #"17" => # nothing known about this MS;P0=-506;P1=444;P2=12860;P3=-8923;P4=-1041;P5=12838;P6=1371;D=13101010101014141410101010101010101010101010101010101010101010101012;CP=1;SP=3; - # { - # name => 'unknown17', - # id => '17', - # one => [1,-2], - # zero => [1,-1], - # sync => [1,-22], # footer [1,-50] - # clockabs => 400, - # format => 'twostate', - # preamble => 'u17#', # prepend to converted message - # #clientmodule => '', # not used now - # #modulematch => '', # not used now - # length_min => '30', - # #length_max => '38', - # }, + "17" => + { + name => 'arctech', + id => '17', + one => [1,-5,1,-1], + zero => [1,-1,1,-5], + #one => [1,-5], + #zero => [1,-1], + sync => [1,-10], + clockabs => -1, # -1 = auto + format => 'twostate', # tristate can't be migrated from bin into hex! + preamble => 'i', # Append to converted message + postamble => '00', # Append to converted message + clientmodule => 'IT', # not used now + modulematch => '^i......', # not used now + length_min => '32', + #length_max => '76', # Don't know maximal lenth of a valid message + postDemodulation => \&SIGNALduino_bit2Arctec, + }, "18" => ## Oregon Scientific v1 { @@ -386,7 +392,7 @@ my %ProtocolListSIGNALduino = ( format => 'manchester', # tristate can't be migrated from bin into hex! #preamble => '', # prepend to converted message #clientmodule => 'to be written', # not used now - #modulematch => '', # not used now + modulematch => '^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*', length_min => '8', length_max => '8', method => \&SIGNALduino_OSV1 # Call to process this message @@ -411,15 +417,16 @@ my %ProtocolListSIGNALduino = ( { name => 'livolo', id => '20', - one => [2,-1], - zero => [1,-1], - sync => [1,-3], - clockabs => -1, #can be 140-190 + one => [3], + zero => [1], + start => [5], + clockabs => 110, #can be 90-140 format => 'twostate', preamble => 'u20#', # prepend to converted message #clientmodule => '', # not used now #modulematch => '', # not used now length_min => '16', + filterfunc => 'SIGNALduino_filterSign', }, "21" => #Einhell Garagentor { @@ -427,7 +434,8 @@ my %ProtocolListSIGNALduino = ( id => '21', one => [-3,1], zero => [-1,3], - #sync => [-50,1], + #sync => [-50,1], + start => [-50,1], clockabs => 400, #ca 400us format => 'twostate', preamble => 'u21#', # prepend to converted message @@ -450,7 +458,7 @@ my %ProtocolListSIGNALduino = ( #clientmodule => '', # not used now #modulematch => '', # not used now length_min => '40', - #length_max => '', # must be tested + #length_max => '', # must be tested }, "23" => # Pearl Sensor @@ -469,11 +477,271 @@ my %ProtocolListSIGNALduino = ( length_max => '44', }, + "24" => # visivon + { + name => 'visivon remote', + id => '24', + one => [3,-2], + zero => [1,-5], + #one => [3,-2], + #zero => [1,-1], + start => [30,-5], + clockabs => 150, #ca 150us + format => 'twostate', + preamble => 'u24#', # prepend to converted message + #clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '54', + length_max => '58', + + }, + + "25" => # LES remote for led lamp + { + name => 'les led remote', + id => '25', + one => [-2,1], + zero => [-1,2], + sync => [-46,1], # this is a end marker, but we use this as a start marker + clockabs => 350, #ca 350us + format => 'twostate', + preamble => 'u25#', # prepend to converted message + #clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '24', + length_max => '50', # message has only 24 bit, but we get more than one message, calculation has to be corrected + }, + "26" => # some remote code send by flamingo style remote controls + { + name => 'remote26', + id => '26', + one => [1,-3], + zero => [3,-1], +# sync => [1,-6], # Message is not provided as MS, due to small fact + start => [1,-6], # Message is not provided as MS, due to small fact + clockabs => 380, #ca 380 + format => 'twostate', + preamble => 'u26#', # prepend to converted message + #clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '24', + length_max => '24', # message has only 24 bit, but we get more than one message, calculation has to be corrected + }, + "27" => # some remote code, send by flamingo style remote controls + { + name => 'remote27', + id => '27', + one => [1,-2], + zero => [2,-1], + start => [6,-15], # Message is not provided as MS, worakround is start + clockabs => 480, #ca 480 + format => 'twostate', + preamble => 'u27#', # prepend to converted message + #clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '24', + length_max => '24', + }, + "28" => # some remote code, send by aldi IC Ledspots + { + name => 'IC Ledspot', + id => '28', + one => [1,-1], + zero => [1,-2], + start => [4,-5], + clockabs => 600, #ca 600 + format => 'twostate', + preamble => 'u28#', # prepend to converted message + #clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '8', + length_max => '8', + }, + "29" => # + { + name => 'HT12e remote', + id => '29', + one => [-2,1], + zero => [-1,2], + #float => [1,-1], + start => [-38,1], # Message is not provided as MS, worakround is start + clockabs => 220, #ca 220 + format => 'tristate', # there is a pause puls between words + preamble => 'u29#', # prepend to converted message + #clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '10', + length_max => '12', # message has only 10 bit but is paddet to 12 + }, + "30" => # a unitec remote door reed switch + { + name => 'unitec47031', + id => '30', + one => [-1,2], + zero => [-2,1], + start => [-33,1], # Message is not provided as MS, worakround is start + clockabs => 300, # ca 300 us + format => 'twostate', # there is a pause puls between words + preamble => 'u30#', # prepend to converted message + #clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '12', + length_max => '12', # message has only 10 bit but is paddet to 12 + }, + "31" => # Pollin Isotronic + { + name => 'pollin isotronic', + id => '31', + one => [-1,2], + zero => [-2,1], + start => [1], + clockabs => 600, + format => 'twostate', + preamble => 'u31#', # prepend to converted message + #clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '20', + length_max => '20', + + }, + "32" => #FreeTec PE-6946 -> http://www.free-tec.de/Funkklingel-mit-Voic-PE-6946-919.shtml + { + name => 'freetec 6946', + id => '32', + one => [4,-2], + zero => [1,-5], + sync => [1,-49], + clockabs => 140, #ca 140us + format => 'twostate', + preamble => 'u32#', # prepend to converted message + #clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '24', + length_max => '24', + }, + "33" => #Thermo-/Hygrosensor S014 + { + name => 'weather33', # + id => '33', + one => [1,-8], + zero => [1,-4], + sync => [1,-15], + clockabs => '500', # not used now + format => 'twostate', # not used now + preamble => 'u33#', # prepend to converted message + postamble => '', # Append to converted message + clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '42', + length_max => '44', + }, + "34" => + { + name => 'unknown34', + id => '34', + one => [2,-1], + zero => [1,-2], + start => [3,-3,3,-3,3,-3,3,-3], + clockabs => '240', + format => 'twostate', # not used now + preamble => 'u34#', # prepend to converted message + postamble => '', # Append to converted message + clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '40', + length_max => '40', + }, + "35" => + { + name => 'socket35', + id => '35', + one => [1,-4], + zero => [4,-1], + sync => [1,-19], + clockabs => '280', + format => 'twostate', # not used now + preamble => 'u35#', # prepend to converted message + postamble => '', # Append to converted message + clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '28', + length_max => '32', + }, + "36" => + { + name => 'socket36', + id => '36', + one => [1,-3], + zero => [1,-1], + start => [20,-20], + clockabs => '500', + format => 'twostate', # not used now + preamble => 'u36#', # prepend to converted message + postamble => '', # Append to converted message + clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '24', + length_max => '24', + }, + "37" => + { + name => 'weather37', + id => '37', + one => [2,-1], + zero => [1,-2], + start => [3,-3,3,-3], + clockabs => '230', + format => 'twostate', # not used now + preamble => 'W37#', # prepend to converted message + postamble => '', # Append to converted message + clientmodule => '', # not used now + #modulematch => '', # not used now + length_min => '40', + length_max => '44', + }, + "38" => + { + name => 'weather38', + id => '38', + one => [1,-10], + zero => [1,-5], + sync => [1,-25], + clockabs => '360', # not used now + format => 'twostate', # not used now + preamble => 's', # prepend to converted message + postamble => '00', # Append to converted message + clientmodule => 'CUL_TCM97001', # not used now + #modulematch => '^s[A-Fa-f0-9]+', # not used now + length_min => '32', + length_max => '32', + paddingbits => '8', + }, + "39" => ## X10 Protocol + { + name => 'X10 Protocol', + id => '39', + one => [1,-3], + zero => [1,-1], + start => [16,-4], + clockabs => 650, + format => 'twostate', + preamble => '', # prepend to converted message + clientmodule => 'RFXX10REC', # not used now + #modulematch => '^TX......', # not used now + length_min => '38', + length_max => '44', + paddingbits => '8', + postDemodulation => \&SIGNALduino_lengtnPrefix, + filterfunc => 'SIGNALduino_compPattern', + + + }, ); + sub SIGNALduino_Initialize($) { @@ -500,9 +768,9 @@ SIGNALduino_Initialize($) ." flashCommand" ." hardware:nano328,uno,promini328" ." debug:0,1" - ." longids" - ." minsecs" - ." whitelist_IDs" + ." longids:0,1" + ." minsecs" + ." whitelist_IDs" ." $readingFnAttributes"; $hash->{ShutdownFn} = "SIGNALduino_Shutdown"; @@ -515,7 +783,7 @@ SIGNALduino_FingerprintFn($$) my ($name, $msg) = @_; # Store only the "relevant" part, as the Signalduino won't compute the checksum - $msg = substr($msg, 8) if($msg =~ m/^81/ && length($msg) > 8); + #$msg = substr($msg, 8) if($msg =~ m/^81/ && length($msg) > 8); return ($name, $msg); } @@ -539,7 +807,7 @@ SIGNALduino_Define($$) if (!exists &round) { - Log3 $name, 1, "$name Signalduino can't be activated (sub round not found). Please update Fhem via update command"; + Log3 $name, 1, "$name: Signalduino can't be activated (sub round not found). Please update Fhem via update command"; return undef; } @@ -548,20 +816,22 @@ SIGNALduino_Define($$) #my $hardware=AttrVal($name,"hardware","nano328"); #Debug "hardware: $hardware" if ($debug); + if($dev eq "none") { - Log3 $name, 1, "$name device is none, commands will be echoed only"; + Log3 $name, 1, "$name: device is none, commands will be echoed only"; $attr{$name}{dummy} = 1; #return undef; } - $dev .= "\@57600" if( $dev ne "none" && $dev !~ m/\@/ ); - + if ($dev ne "none" && $dev =~ m/[a-zA-Z]/ && $dev !~ m/\@/) { # bei einer IP wird kein \@57600 angehaengt + $dev .= "\@57600"; + } $hash->{CMDS} = ""; $hash->{Clients} = $clientsSIGNALduino; $hash->{MatchList} = \%matchListSIGNALduino; - + #if( !defined( $attr{$name}{hardware} ) ) { # $attr{$name}{hardware} = "nano328"; @@ -572,24 +842,33 @@ SIGNALduino_Define($$) # $attr{$name}{flashCommand} = "avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]" $attr{$name}{flashCommand} = "avrdude -c arduino -b 57600 -P [PORT] -p atmega328p -vv -U flash:w:[HEXFILE] 2>[LOGFILE]" } - $hash->{DeviceName} = $dev; - if($dev eq "none") { - return undef; - } - my $ret = DevIo_OpenDev($hash, 0, "SIGNALduino_DoInit"); - ## - $hash->{Interval} = "300"; - InternalTimer(gettimeofday()+2, "SIGNALduino_GetUpdate", $hash, 0); + my $ret=undef; + + my $whitelistIDs = AttrVal($name,"whitelist_IDs",""); + SIGNALduino_IdList($hash ,$name, $whitelistIDs); + + if($dev ne "none") { + $ret = DevIo_OpenDev($hash, 0, "SIGNALduino_DoInit"); + + + if ($hash->{INACTIVE}==1){ + DevIo_CloseDev($hash); + return $ret ; + } + + $hash->{Interval} = "300"; + InternalTimer(gettimeofday()+$hash->{Interval}, "SIGNALduino_GetUpdate", $hash, 0); + } $hash->{"DMSG"}="nothing"; $hash->{"TIME"}=time(); + - my %WhitelistIDs = map { $_ => 1 } split(",", AttrVal($name,"whitelist_IDs","")); - $hash->{"whitelisthash"} = \%WhitelistIDs; - undef($hash->{"whitelisthash"}) if (scalar(keys %WhitelistIDs) <= 0); + Log3 $name, 3, "$name: Firmwareversion: ".$hash->{READINGS}{Version}{VAL} if ($hash->{READINGS}{Version}{VAL}); + return $ret; } @@ -606,7 +885,7 @@ SIGNALduino_Undef($$) $defs{$d}{IODev} == $hash) { my $lev = ($reread_active ? 4 : 2); - Log3 $name, $lev, "deleting port for $d"; + Log3 $name, $lev, "$name: deleting port for $d"; delete $defs{$d}{IODev}; } } @@ -628,16 +907,25 @@ SIGNALduino_Shutdown($) } ##################################### +#$hash,$name,"sendmsg","P17;R6#".substr($arg,2) + sub SIGNALduino_Set($@) { my ($hash, @a) = @_; + return "\"set SIGNALduino\" needs at least one parameter" if(@a < 2); - return "Unknown argument $a[1], choose one of " . join(" ", sort keys %sets) - if(!defined($sets{$a[1]})); - + if (!defined($sets{$a[1]})) { + my $arguments = ' '; + foreach my $arg (sort keys %sets) { + $arguments.= $arg . ($sets{$arg} ? (':' . $sets{$arg}) : '') . ' '; + } + #Log3 $hash, 3, "set arg = $arguments"; + return "Unknown argument $a[1], choose one of " . $arguments; + } my $name = shift @a; + my $cmd = shift @a; my $arg = join(" ", @a); @@ -721,19 +1009,80 @@ SIGNALduino_Set($@) Log3 $name, 4, "set $name $cmd $arg"; my $clock = shift @a; - $clock=300 if ($clock eq "" ); - - if ($clock =~ /^\d+$/ ) { - $arg="ic$clock"; - SIGNALduino_SimpleWrite($hash, $arg); - Log3 $name, 3, "Set - no value passed - setting ITClock to default ($clock)"; - - #SIGNALduino_Get($hash,$hash->{NAME},"ITParms"); - - } else { - return "argument $arg, is not numeric for set it base duration".$hash->{CMDS}; - } - + $clock=250 if ($clock eq "" ); + return "argument $arg is not numeric" if($clock !~ /^\d+$/); + Log3 $name, 3, "$name: Setting ITClock to $clock (sending $arg)"; + $arg="ic$clock"; + SIGNALduino_SimpleWrite($hash, $arg); + SIGNALduino_ReadAnswer($hash, "ITClock", 0, $arg); ## Receive the transmitted message + $hash->{$cmd}=$clock; + } elsif( $cmd eq "disableMessagetype" ) { + my $argm = 'CD' . substr($arg,-1,1); + SIGNALduino_SimpleWrite($hash, $argm); + Log3 $name, 4, "set $name $cmd $arg $argm";; + } elsif( $cmd eq "enableMessagetype" ) { + my $argm = 'CE' . substr($arg,-1,1); + SIGNALduino_SimpleWrite($hash, $argm); + Log3 $name, 4, "set $name $cmd $arg $argm"; + } elsif( $cmd eq "sendMsg" ) { + my ($protocol,$data,$repeats) = split("#",$arg); + $protocol=~ s/[Pp](\d+)/$1/; # extract protocol num + $repeats=~ s/[rR](\d+)/$1/; # extract repeat num + $repeats=1 if ($repeats eq ""); + + return "$name: sendmsg, unknown protocol: $protocol" if (!exists($ProtocolListSIGNALduino{$protocol})); + + Log3 $name, 5, "$name: sendmsg Preparing rawsend command for protocol=$protocol, repeats=$repeats, bits=$data"; + + #print ("data = $data \n"); + #print ("protocol = $protocol \n"); + #print ("repeats = $repeats \n"); + + my %signalHash; + my %patternHash; + my $pattern=""; + my $cnt=0; + my $clock=$ProtocolListSIGNALduino{$protocol}{clockabs} > 1 ?$ProtocolListSIGNALduino{$protocol}{clockabs}:$hash->{ITClock}; + foreach my $item (qw(sync start one zero)) + { + #print ("item= $item \n"); + next if (!exists($ProtocolListSIGNALduino{$protocol}{$item})); + + foreach my $p (@{$ProtocolListSIGNALduino{$protocol}{$item}}) + { + #print (" p = $p \n"); + + if (!exists($patternHash{$p})) + { + $patternHash{$p}=$cnt; + $pattern.="P".$patternHash{$p}."=".$p*$clock.";"; + $cnt++; + } + $signalHash{$item}.=$patternHash{$p}; + #print (" signalHash{$item} = $signalHash{$item} \n"); + } + } + + my @bits = split("", $data); + + my %bitconv = (1=>"one", 0=>"zero"); + my $SignalData="D="; + + $SignalData.=$signalHash{sync} if (exists($signalHash{sync})); + $SignalData.=$signalHash{start} if (exists($signalHash{start})); + + + foreach my $bit (@bits) + { + next if (!exists($bitconv{$bit})); + #Log3 $name, 5, "encoding $bit"; + $SignalData.=$signalHash{$bitconv{$bit}}; ## Add the signal to our data string + } + + my $sendData = "SR;R=$repeats;$pattern$SignalData;"; + SIGNALduino_SimpleWrite($hash, $sendData); + Log3 $name, 4, "$name: sending via SendMsg: $sendData"; + } else { Log3 $name, 5, "set $name $cmd $arg"; #SIGNALduino_SimpleWrite($hash, $arg); @@ -749,8 +1098,10 @@ SIGNALduino_Get($@) { my ($hash, @a) = @_; my $type = $hash->{TYPE}; - my $name = $a[0]; - + my $name = $hash->{NAME}; + return "$name is not active, may firmware is not suppoted, please flash" if (exists($hash->{INACTIVE}) && $hash->{INACTIVE}==1); + #my $name = $a[0]; + Log3 $name, 5, "\"get $type\" needs at least one parameter" if(@a < 2); return "\"get $type\" needs at least one parameter" if(@a < 2); if(!defined($gets{$a[1]})) { @@ -759,31 +1110,56 @@ SIGNALduino_Get($@) } my $arg = ($a[2] ? $a[2] : ""); + return "no command to send, get aborted." if (length($gets{$a[1]}[0]) == 0 && length($arg) == 0); + my ($msg, $err); if (IsDummy($name)) { - return SIGNALduino_Parse($hash, $hash, $hash->{NAME}, $arg); + if ($arg =~ /^M[CSU];.*/) + { + $arg="\002$arg\003"; ## Add start end end marker if not already there + Log3 $name, 5, "$name/msg adding start and endmarker to message"; + + } + if ($arg =~ /^\002.*\003$/) + { + Log3 $name, 4, "$name/msg get raw: $arg"; + return SIGNALduino_Parse($hash, $hash, $hash->{NAME}, $arg); + } } return "No $a[1] for dummies" if(IsDummy($name)); Log3 $name, 5, "$name: command for gets: " . $gets{$a[1]}[0] . " " . $arg; - + + if ($a[1] eq "raw") + { + # Dirty hack to check and modify direct communication from logical modules with hardware + if ($arg =~ /^is.*/ && length($arg) == 34) + { + # Arctec protocol + Log3 $name, 5, "$name: calling set :sendmsg P17;R6#".substr($arg,2); + + SIGNALduino_Set($hash,$name,"sendMsg","P17#",substr($arg,2),"#R6"); + return "$a[0] $a[1] => $arg"; + } + + } SIGNALduino_SimpleWrite($hash, $gets{$a[1]}[0] . $arg); ($err, $msg) = SIGNALduino_ReadAnswer($hash, $a[1], 0, $gets{$a[1]}[1]); Log3 $name, 5, "$name: received message for gets: " . $msg if ($msg); - + if(!defined($msg)) { - DevIo_Disconnected($hash); - $msg = "No answer"; + DevIo_Disconnected($hash); + $msg = "No answer"; } elsif($a[1] eq "cmds") { # nice it up - $msg =~ s/.*Use one of//g; + $msg =~ s/.*Use one of//g; } elsif($a[1] eq "uptime") { # decode it - $msg =~ s/[\r\n]//g; - #$msg = hex($msg); # /125; only for col or coc + $msg =~ s/[\r\n]//g; + #$msg = hex($msg); # /125; only for col or coc $msg = sprintf("%d %02d:%02d:%02d", $msg/86400, ($msg%86400)/3600, ($msg%3600)/60, $msg%60); } @@ -792,9 +1168,8 @@ SIGNALduino_Get($@) #$hash->{READINGS}{$a[1]}{VAL} = $msg; #$hash->{READINGS}{$a[1]}{TIME} = time(); readingsSingleUpdate($hash, $a[1], $msg, 0); - - return "$a[0] $a[1] => $msg"; + } sub @@ -834,13 +1209,17 @@ SIGNALduino_DoInit($) my ($ver, $try) = ("", 0); #Dirty hack to allow initialisation of DirectIO Device for some debugging and tesing - Log3 $name, 1, $hash->{DEF}; + Log3 $hash, 1, "define: ".$hash->{DEF}; + undef($hash->{INACTIVE}) if exists($hash->{INACTIVE}); + - if ((!$hash->{DEF} =~ m/\@DirectIO/) and (!$hash->{DEF} =~ m/none/) ) + if (($hash->{DEF} !~ m/\@DirectIO/) and ($hash->{DEF} !~ m/none/) ) { + Log3 $hash, 1, "init: ".$hash->{DEF}; + SIGNALduino_Clear($hash); - + # Try to get version from Arduino while ($try++ < 3 && $ver !~ m/^V/) { SIGNALduino_SimpleWrite($hash, "V"); @@ -849,14 +1228,27 @@ SIGNALduino_DoInit($) $ver = "" if(!$ver); } # Check received string - if($ver !~ m/^V/) { - $attr{$name}{dummy} = 1; - $msg = "Not an SIGNALduino device, got for V: $ver"; - Log3 $name, 1, $msg; + if($ver !~ m/SIGNALduino/) { + #$attr{$name}{dummy} = 1; ## Todo: Do not alter attribues, they belong to the user + $msg = "$name: Not an SIGNALduino device, setting attribute dummy=1 got for V: $ver"; + Log3 $hash, 1, $msg; + readingsSingleUpdate($hash, "state", "no SIGNALduino found", 1); + $hash->{INACTIVE}=1; return $msg; } + elsif($ver =~ m/3.1./) { + #$attr{$name}{dummy} = 1; + $msg = "$name: Version of your arduino is not compatible, pleas flash new firmware. (setting device to inactive) Got for V: $ver"; + readingsSingleUpdate($hash, "state", "unsupported firmware found", 1); + Log3 $hash, 1, $msg; + $hash->{INACTIVE}=1; + return $msg; + } + readingsSingleUpdate($hash, "Version", $ver, 0); + + #$hash->{VERSION} = $ver; + $ver =~ s/[\r\n]//g; - $hash->{VERSION} = $ver; #$debug = AttrVal($name, "verbose", 3) == 5; #Log3 $name, 3, "$name: setting debug to: " . $debug; @@ -868,7 +1260,7 @@ SIGNALduino_DoInit($) $cmds =~ s/$name cmds =>//g; $cmds =~ s/ //g; $hash->{CMDS} = $cmds; - Log3 $name, 3, "$name: Possible commands: " . $hash->{CMDS}; + Log3 $hash, 3, "$name: Possible commands: " . $hash->{CMDS}; readingsSingleUpdate($hash, "state", "Programming", 1); } @@ -895,6 +1287,7 @@ SIGNALduino_ReadAnswer($$$$) { my ($hash, $arg, $anydata, $regexp) = @_; my $type = $hash->{TYPE}; + my $name = $hash->{NAME}; while($hash->{TYPE} eq "SIGNALduino_RFR") { # Look for the first "real" SIGNALduino $hash = $hash->{IODev}; @@ -905,6 +1298,8 @@ SIGNALduino_ReadAnswer($$$$) my ($mSIGNALduinodata, $rin) = ("", ''); my $buf; + my $idx; + my $cut = 0; my $to = 3; # 3 seconds timeout $to = $hash->{RA_Timeout} if($hash->{RA_Timeout}); # ...or less for(;;) { @@ -936,16 +1331,33 @@ SIGNALduino_ReadAnswer($$$$) } if($buf) { - Log3 $hash->{NAME}, 5, "SIGNALduino/RAW (ReadAnswer): $buf"; + Log3 $hash->{NAME}, 5, "$name/RAW (ReadAnswer): $buf"; $mSIGNALduinodata .= $buf; } $mSIGNALduinodata = SIGNALduino_RFR_DelPrefix($mSIGNALduinodata) if($type eq "SIGNALduino_RFR"); + $idx = index($mSIGNALduinodata,"\003\n"); + if($idx != -1) { + $cut = 1; + if($mSIGNALduinodata =~ m/\002.*\003\n/) { # vollstaendige Signal Nachricht + Log3 $name, 4, "$name/RAW (ReadAnswerCut002003): $mSIGNALduinodata"; + #if(defined($regexp)) { # kein parse wenn von doInit aufgerufen + SIGNALduino_Parse($hash, $hash, $name, $mSIGNALduinodata); + #} + $mSIGNALduinodata =~ s/\002.*\003\n//; + } else { # Signal Nachricht ohne Anfang + Log3 $name, 4, "$name/RAW (ReadAnswerCut003 $idx): $mSIGNALduinodata"; + $mSIGNALduinodata = substr($mSIGNALduinodata, $idx+2); + } + Log3 $name, 4, "$name/RAW (ReadAnswerCutDone " . length($mSIGNALduinodata) . "): $mSIGNALduinodata"; + } + # \n\n is socat special if($mSIGNALduinodata =~ m/\r\n$/ || $anydata || $mSIGNALduinodata =~ m/\n\n$/ ) { - if($regexp && $mSIGNALduinodata !~ m/$regexp/) { - SIGNALduino_Parse($hash, $hash, $hash->{NAME}, $mSIGNALduinodata); - } else { + if(!defined($regexp) || $mSIGNALduinodata =~ m/$regexp/) { + if ($cut == 1) { + Log3 $name, 4, "$name/RAW (ReadAnswerCut): $mSIGNALduinodata"; + } return (undef, $mSIGNALduinodata) } } @@ -994,7 +1406,7 @@ SIGNALduino_Write($$$) my $name = $hash->{NAME}; - Log3 $name, 5, "$hash->{NAME} sending $fn$msg"; + Log3 $name, 5, "$name: sending $fn$msg"; my $bstring = "$fn$msg"; SIGNALduino_SimpleWrite($hash, $bstring); @@ -1050,16 +1462,17 @@ SIGNALduino_Read($) my $buf = DevIo_SimpleRead($hash); return "" if(!defined($buf)); my $name = $hash->{NAME}; + my $debug = AttrVal($name,"debug",0); my $SIGNALduinodata = $hash->{PARTIAL}; - Log3 $name, 5, "SIGNALduino/RAW READ: $SIGNALduinodata/$buf"; + Log3 $name, 5, "$name/RAW READ: $SIGNALduinodata/$buf" if ($debug); $SIGNALduinodata .= $buf; while($SIGNALduinodata =~ m/\n/) { my $rmsg; ($rmsg,$SIGNALduinodata) = split("\n", $SIGNALduinodata, 2); $rmsg =~ s/\r//; - Log3 $name, 4, "SIGNALduino/msg READ: $rmsg"; + Log3 $name, 4, "$name/msg READ: $rmsg"; SIGNALduino_Parse($hash, $hash, $name, $rmsg) if($rmsg); } @@ -1072,8 +1485,8 @@ sub SIGNALduino_GetUpdate($){ my ($hash) = @_; my $name = $hash->{NAME}; - Log3 $name, 4, "$name: Get freeram called ..."; - SIGNALduino_Get($hash,$name, "freeram"); + Log3 $name, 4, "$name: ping ..."; + SIGNALduino_Get($hash,$name, "ping"); InternalTimer(gettimeofday()+$hash->{Interval}, "SIGNALduino_GetUpdate", $hash, 1); } @@ -1114,6 +1527,7 @@ sub SIGNALduino_PatternExists my $searchpattern; my $valid=1; my $pstr=""; + my $debug = AttrVal($hash->{NAME},"debug",0); foreach $searchpattern (@{$search}) # z.B. [1, -4] { @@ -1172,6 +1586,8 @@ sub SIGNALduino_MatchSignalPattern($\@\%\@$){ #Debug Dumper($signalpattern) if ($debug); my $tol="0.2"; # Tolerance factor my $found=0; + my $debug = AttrVal($hash->{NAME},"debug",0); + foreach ( @{$signalpattern} ) { #Debug " $idx check: ".$patternList->{$data_array->[$idx]}." == ".$_; @@ -1232,7 +1648,8 @@ sub SIGNALduino_Split_Message($$) my @msg_parts = SIGNALduino_splitMsg($rmsg,';'); ## Split message parts by ";" my %ret; - + my $debug = AttrVal($name,"debug",0); + foreach (@msg_parts) { #Debug "$name: checking msg part:( $_ )" if ($debug); @@ -1297,19 +1714,24 @@ sub SIGNALduno_Dispatch($$$) my ($hash, $rmsg,$dmsg) = @_; my $name = $hash->{NAME}; - Log3 $name, 5, "converted Data to ($dmsg)"; + Log3 $name, 5, "$name: converted Data to ($dmsg)"; #Dispatch only if $dmsg is different from last $dmsg, or if 2 seconds are between transmits if ( ($hash->{DMSG} ne $dmsg) || ($hash->{TIME}+1 < time()) ) { $hash->{MSGCNT}++; $hash->{TIME} = time(); $hash->{DMSG} = $dmsg; - readingsSingleUpdate($hash, "state", $hash->{READINGS}{state}{VAL}, 1); + my $event = 0; + if (substr($dmsg,0,1) eq 'u') { + $event = 1; + } + readingsSingleUpdate($hash, "state", $hash->{READINGS}{state}{VAL}, $event); $hash->{RAWMSG} = $rmsg; my %addvals = (RAWMSG => $rmsg, DMSG => $dmsg); Dispatch($hash, $dmsg, \%addvals); ## Dispatch to other Modules + } else { - Log3 $name, 4, "Dropped ($dmsg) due to short time or equal msg"; + Log3 $name, 4, "$name: Dropped ($dmsg) due to short time or equal msg"; } } @@ -1331,6 +1753,7 @@ SIGNALduino_Parse_MS($$$$%) #Debug "Message splitted:"; #Debug Dumper(\@msg_parts); + my $debug = AttrVal($iohash->{NAME},"debug",0); if (defined($clockidx) and defined($syncidx)) @@ -1340,7 +1763,7 @@ SIGNALduino_Parse_MS($$$$%) #Debug "List of pattern:"; my $clockabs= $msg_parts{pattern}{$msg_parts{clockidx}}; return undef if ($clockabs == 0); - $patternList{$_} = round($msg_parts{pattern}{$_}/$clockabs,1) for keys $msg_parts{pattern}; + $patternList{$_} = round($msg_parts{pattern}{$_}/$clockabs,1) for keys %{$msg_parts{pattern}}; #Debug Dumper(\%patternList); @@ -1355,13 +1778,7 @@ SIGNALduino_Parse_MS($$$$%) ## Find matching protocols my $id; my $message_dispatched=0; - foreach $id ( keys %ProtocolListSIGNALduino) { - if (defined($hash->{"whitelisthash"}) && !defined($hash->{"whitelisthash"}{$id})) { - Log3 $name, 4, "skip ID $id"; - next; - } - - next if !(exists $ProtocolListSIGNALduino{$id}{sync}); + foreach $id (@{$hash->{msIdList}}) { my $valid=1; #$debug=1; @@ -1423,7 +1840,7 @@ SIGNALduino_Parse_MS($$$$%) #Anything seems to be valid, we can start decoding this. - Log3 $name, 4, "Found matched Protocol id $id -> $ProtocolListSIGNALduino{$id}{name}" if ($valid); + Log3 $name, 4, "$name: Matched MS Protocol id $id -> $ProtocolListSIGNALduino{$id}{name}" if ($valid); my $signal_width= @{$ProtocolListSIGNALduino{$id}{one}}; #Debug $signal_width; @@ -1433,7 +1850,7 @@ SIGNALduino_Parse_MS($$$$%) #for (my $i=index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{sync}}))+$signal_width;$i= scalar @bit_msg if (defined($ProtocolListSIGNALduino{$id}{length_max})); next if (!$valid); - + #my $dmsg = sprintf "%02x", oct "0b" . join "", @bit_msg; ## Array -> String -> bin -> hex my $dmsg = SIGNALduino_b2h(join "", @bit_msg); $dmsg = "$dmsg"."$ProtocolListSIGNALduino{$id}{postamble}" if (defined($ProtocolListSIGNALduino{$id}{postamble})); $dmsg = "$ProtocolListSIGNALduino{$id}{preamble}"."$dmsg" if (defined($ProtocolListSIGNALduino{$id}{preamble})); - Debug "$name: dispatching now msg: $dmsg" if ($debug); - - SIGNALduno_Dispatch($hash,$rmsg,$dmsg); - $message_dispatched=1; - + Log3 $name, 4, "$name: Decoded MS Protocol id $id dmsg $dmsg length " . scalar @bit_msg; + + + #my ($rcode,@retvalue) = SIGNALduino_callsub('preDispatchfunc',$ProtocolListSIGNALduino{$id}{preDispatchfunc},$name,$dmsg); + #next if (!$rcode); + #$dmsg = @retvalue; + #undef(@retvalue); undef($rcode); + + + my $modulematch; + if (defined($ProtocolListSIGNALduino{$id}{modulematch})) { + $modulematch = $ProtocolListSIGNALduino{$id}{modulematch}; + } + if (!defined($modulematch) || $dmsg =~ m/$modulematch/) { + Debug "$name: dispatching now msg: $dmsg" if ($debug); + SIGNALduno_Dispatch($hash,$rmsg,$dmsg); + $message_dispatched=1; + } } return 0 if (!$message_dispatched); @@ -1486,6 +1924,9 @@ SIGNALduino_Parse_MS($$$$%) } } + + + ## //Todo: check list as reference sub SIGNALduino_padbits(\@$) { @@ -1497,29 +1938,40 @@ sub SIGNALduino_padbits(\@$) return " padded $i bits to bit_msg array"; } +# - - - - - - - - - - - - +#=item SIGNALduino_getProtoProp() +#This functons, will return a value from the Protocolist and check if it is defined +# +# returns "" if the var is not defined +# =cut +# $id, $propertyname, + +sub SIGNALduino_getProtoProp($$) +{ + my $id = shift; + my $propNameLst = shift; + return $ProtocolListSIGNALduino{$id}{$propNameLst} if defined($ProtocolListSIGNALduino{$id}{$propNameLst}); + return undef; +} + sub SIGNALduino_Parse_MU($$$$@) { - #my ($hash, $iohash, $name, $rmsg,@msg_parts) = @_; - #my $rawData; - #my $clockidx; - #my %patternList; - #my %patternListRaw; - ## Check for each received message part and parse it - my ($hash, $iohash, $name, $rmsg,%msg_parts) = @_; my $protocolid; my $clockidx=$msg_parts{clockidx}; my $protocol=undef; - my $rawData=$msg_parts{rawData}; + my $rawData; my %patternListRaw; my $message_dispatched=0; + my $debug = AttrVal($iohash->{NAME},"debug",0); + Debug "$name: processing unsynced message\n" if ($debug); - my $clockabs; #Clock will be fetched from Protocol + #my $clockabs; #Clock will be fetched from Protocol #$patternListRaw{$_} = floor($msg_parts{pattern}{$_}/$clockabs) for keys $msg_parts{pattern}; - $patternListRaw{$_} = $msg_parts{pattern}{$_} for keys $msg_parts{pattern}; + $patternListRaw{$_} = $msg_parts{pattern}{$_} for keys %{$msg_parts{pattern}}; if (defined($clockidx)) @@ -1527,36 +1979,44 @@ sub SIGNALduino_Parse_MU($$$$@) ## Make a lookup table for our pattern index ids #Debug "List of pattern:"; #Debug Dumper(\%patternList); - my $signal_length = length($rawData); # Length of data array ## Find matching protocols my $id; - foreach $id ( keys %ProtocolListSIGNALduino) { - if (defined($hash->{"whitelisthash"}) && !defined($hash->{"whitelisthash"}{$id})) { - Log3 $name, 4, "skip ID $id"; - next; - } - - next if (exists $ProtocolListSIGNALduino{$id}{sync}); ## We can skip messages with sync defined - next if (defined($ProtocolListSIGNALduino{id}{format} && $ProtocolListSIGNALduino{id}{format} eq "manchester")); - next if (!defined($ProtocolListSIGNALduino{$id}{clockabs})); - + foreach $id (@{$hash->{muIdList}}) { + my $valid=1; my $clockabs= $ProtocolListSIGNALduino{$id}{clockabs}; my %patternList; + $rawData=$msg_parts{rawData}; + if (exists($ProtocolListSIGNALduino{$id}{filterfunc})) + { + my $method = $ProtocolListSIGNALduino{$id}{filterfunc}; + if (!exists &$method) + { + Log3 $name, 5, "$name: Error: Unknown filtermethod=$method. Please define it in file $0"; + next; + } else { + Log3 $name, 5, "$name: applying filterfunc $method"; + + no strict "refs"; + (my $count_changes,$rawData,my %patternListRaw_tmp) = $method->($name,$id,$rawData,%patternListRaw); + use strict "refs"; + + %patternList = map { $_ => round($patternListRaw_tmp{$_}/$clockabs,1) } keys %patternListRaw_tmp; + } + } else { + %patternList = map { $_ => round($patternListRaw{$_}/$clockabs,1) } keys %patternListRaw; + } + + my $signal_length = length($rawData); # Length of data array - %patternList = map { $_ => round($patternListRaw{$_}/$clockabs,1) } keys %patternListRaw; my @keys = sort { $patternList{$a} <=> $patternList{$b} } keys %patternList; #Debug Dumper(\%patternList); #Debug Dumper(@keys); - #$debug=1; - - + Debug "Testing against Protocol id $id -> $ProtocolListSIGNALduino{$id}{name}" if ($debug); - - # $valid=SIGNALduino_inTol($ProtocolListSIGNALduino{$id}{clockabs},$clockabs,$clockabs*0.30) if ($ProtocolListSIGNALduino{$id}{clockabs} > 0); @@ -1591,6 +2051,14 @@ sub SIGNALduino_Parse_MU($$$$@) $patternLookupHash{$pstr}="0" if ($valid); ## Append zero to our lookuptable Debug "added $pstr " if ($debug && $valid); + if (defined($ProtocolListSIGNALduino{$id}{float})) + { + $valid = $valid && ($pstr=SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{float}},\%patternList)) >=0; + Debug "Found matched float" if ($debug && $valid); + $patternLookupHash{$pstr}="F" if ($valid); ## Append float to our lookuptable + Debug "added $pstr " if ($debug && $valid); + } + next if (!$valid) ; #Debug "Pattern Lookup Table".Dumper(%patternLookupHash); ## Check somethin else @@ -1598,15 +2066,36 @@ sub SIGNALduino_Parse_MU($$$$@) #Anything seems to be valid, we can start decoding this. - Log3 $name, 4, "Found matched Protocol id $id -> $ProtocolListSIGNALduino{$id}{name}" if ($valid); + Log3 $name, 4, "$name: Fingerprint for MU Protocol id $id -> $ProtocolListSIGNALduino{$id}{name} matches, trying to demodulate" if ($valid); my $signal_width= @{$ProtocolListSIGNALduino{$id}{one}}; #Debug $signal_width; my @bit_msg=(); # array to store decoded signal bits - my $message_start = (index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{one}},\%patternList)) < index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{zero}},\%patternList)) ? index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{one}},\%patternList)) : index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{zero}},\%patternList))); + + my $message_start=0 ; + my @msgStartLst; + my $startStr=""; + my $start_regex; + my $oneStr=SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{one}},\%patternList); + my $zeroStr=SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{zero}},\%patternList); + + if (@msgStartLst = SIGNALduino_getProtoProp($id,"start")) + { + $startStr=SIGNALduino_PatternExists($hash,@msgStartLst,\%patternList); + } + $start_regex="$startStr($oneStr|$zeroStr)"; + $rawData =~ /$start_regex/; + if (defined($-[0] && $-[0] > 0)) { + $message_start=$-[0]+ length($startStr); + } else { + undef($message_start); + } + undef @msgStartLst; + #for (my $i=index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{sync}}))+$signal_width;$ilength($rawData)) ## Dispatch if last signal or unknown data + if (!exists $patternLookupHash{$sig_str} || $i+$signal_width>length($rawData)-$signal_width) ## Dispatch if last signal or unknown data { - Debug "$name: demodulated message raw (@bit_msg), ".@bit_msg." bits\n" if ($debug);; - while (scalar @bit_msg % $padwith > 0) ## will pad up full nibbles per default or full byte if specified in protocol - { - push(@bit_msg,'0'); - Debug "$name: padding 0 bit to bit_msg array" if ($debug); - } - #Check converted message against lengths - $valid = $valid && $ProtocolListSIGNALduino{$id}{length_min} <= scalar @bit_msg if (defined($ProtocolListSIGNALduino{$id}{length_min})); + Debug "$name: demodulated message raw (@bit_msg), ".@bit_msg." bits\n" if ($debug); + #Check converted message against lengths $valid = $valid && $ProtocolListSIGNALduino{$id}{length_max} >= scalar @bit_msg if (defined($ProtocolListSIGNALduino{$id}{length_max})); + $valid = $valid && $ProtocolListSIGNALduino{$id}{length_min} <= scalar @bit_msg if (defined($ProtocolListSIGNALduino{$id}{length_min})); + #next if (!$valid); ## Last chance to try next protocol if there is somethin invalid if ($valid) { - Log3 $name, 5, "dispatching bits: @bit_msg"; + + my ($rcode,@retvalue) = SIGNALduino_callsub('postDemodulation',$ProtocolListSIGNALduino{$id}{postDemodulation},$name,@bit_msg); + next if (!$rcode); + #Log3 $name, 5, "$name: postdemodulation value @retvalue"; + + @bit_msg = @retvalue; + undef(@retvalue); undef($rcode); + + + while (scalar @bit_msg % $padwith > 0) ## will pad up full nibbles per default or full byte if specified in protocol + { + push(@bit_msg,'0'); + Debug "$name: padding 0 bit to bit_msg array" if ($debug); + } + + Log3 $name, 5, "$name: dispatching bits: @bit_msg"; my $dmsg = SIGNALduino_b2h(join "", @bit_msg); $dmsg =~ s/^0+// if (defined($ProtocolListSIGNALduino{$id}{remove_zero})); $dmsg = "$dmsg"."$ProtocolListSIGNALduino{$id}{postamble}" if (defined($ProtocolListSIGNALduino{$id}{postamble})); $dmsg = "$ProtocolListSIGNALduino{$id}{preamble}"."$dmsg" if (defined($ProtocolListSIGNALduino{$id}{preamble})); - SIGNALduno_Dispatch($hash,$rmsg,$dmsg); - $message_dispatched=1; + Log3 $name, 4, "$name: decoded matched MU Protocol id $id dmsg $dmsg length " . scalar @bit_msg; + my $modulematch; + if (defined($ProtocolListSIGNALduino{$id}{modulematch})) { + $modulematch = $ProtocolListSIGNALduino{$id}{modulematch}; + } + if (!defined($modulematch) || $dmsg =~ m/$modulematch/) { + Debug "$name: dispatching now msg: $dmsg" if ($debug); + SIGNALduno_Dispatch($hash,$rmsg,$dmsg); + $message_dispatched=1; + } } else { - Debug "$name: length ($ProtocolListSIGNALduino{$id}{length_min})/$ProtocolListSIGNALduino{$id}{length_max} does not match (@bit_msg), ".@bit_msg." bits\n" if ($debug);; - + if ($debug) + { + my $debugstr; + $debugstr.=$ProtocolListSIGNALduino{$id}{length_min} if defined($ProtocolListSIGNALduino{$id}{length_min}); + $debugstr.="/"; + $debugstr.=$ProtocolListSIGNALduino{$id}{length_max} if defined($ProtocolListSIGNALduino{$id}{length_max}); + + Debug "$name: length ($debugstr) does not match (@bit_msg), ".@bit_msg." bits\n"; + } } @bit_msg=(); # clear bit_msg array #Find next position of valid signal (skip invalid pieces) - $i = (index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{one}},\%patternList),$i) < index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{zero}},\%patternList),$i) ? index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{one}},\%patternList),$i) : index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{zero}},\%patternList),$i)); - $i-=$signal_width; - last if ($i <=-1); - Log3 $name, 5, "restarting demodulation at Position $i+$signal_width"; + my $regex=".{$i}".$start_regex; + Debug "$name: searching new start with ($regex)\n" if ($debug); + + $rawData =~ /$regex/; + if (defined($-[0] && $-[0] > 0)) { + $i=$-[0]+ $i+ length($startStr); + Debug "$name: found restart at Position $i ($regex)\n" if ($debug); + } else { + last; + } + + #if ($startStr) + #{ + # $i= index($rawData,$startStr,$i); + # } else { + # $i = (index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{one}},\%patternList),$i+$signal_width) < index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{zero}},\%patternList),$i+$signal_width) ? index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{one}},\%patternList),$i+$signal_width) : index($rawData,SIGNALduino_PatternExists($hash,\@{$ProtocolListSIGNALduino{$id}{zero}},\%patternList),$i+$signal_width)); + # $i-=$signal_width if ($i{NAME},"debug",0); return undef if (!$clock); #my $protocol=undef; @@ -1695,19 +2231,14 @@ SIGNALduino_Parse_MC($$$$@) $bitData= unpack("B$blen", pack("H$hlen", $rawData)); Debug "$name: extracted data $bitData (bin)\n" if ($debug); ## Convert Message from hex to bits my $id; - foreach $id ( keys %ProtocolListSIGNALduino) { - if (defined($hash->{"whitelisthash"}) && !defined($hash->{"whitelisthash"}{$id})) { - Log3 $name, 4, "skip ID $id"; - next; - } + foreach $id (@{$hash->{mcIdList}}) { - next if (!defined($ProtocolListSIGNALduino{$id}{format}) or $ProtocolListSIGNALduino{$id}{format} ne "manchester"); - Debug "Testing against Protocol id $id -> $ProtocolListSIGNALduino{$id}{name}" if ($debug); if ( $clock >$ProtocolListSIGNALduino{$id}{clockrange}[0] and $clock <$ProtocolListSIGNALduino{$id}{clockrange}[1] and length($rawData)*4 >= $ProtocolListSIGNALduino{$id}{length_min} ) { Debug "clock and min length matched" if ($debug); + Log3 $name, 4, "$name: Found manchester Protocol id $id clock $clock -> $ProtocolListSIGNALduino{$id}{name}"; my $method = $ProtocolListSIGNALduino{$id}{method}; if (!exists &$method) { @@ -1717,10 +2248,16 @@ SIGNALduino_Parse_MC($$$$@) if ($rcode != -1) { $dmsg = $res; $dmsg=$ProtocolListSIGNALduino{$id}{preamble}.$dmsg if (defined($ProtocolListSIGNALduino{$id}{preamble})); - SIGNALduno_Dispatch($hash,$rmsg,$dmsg); - $message_dispatched=1; + my $modulematch; + if (defined($ProtocolListSIGNALduino{$id}{modulematch})) { + $modulematch = $ProtocolListSIGNALduino{$id}{modulematch}; + } + if (!defined($modulematch) || $dmsg =~ m/$modulematch/) { + SIGNALduno_Dispatch($hash,$rmsg,$dmsg); + $message_dispatched=1; + } } else { - Log3 $name, 5, "protocol does not match return from method: ($res)" if ($debug); + Log3 $name, 5, "$name: protocol does not match return from method: ($res)" if ($debug); } } @@ -1740,6 +2277,9 @@ SIGNALduino_Parse($$$$@) #print Dumper(\%ProtocolListSIGNALduino); return undef if !($rmsg=~ m/^\002M.;.*;\003/); ## Check if a Data Message arrived and if it's complete (start & end control char are received) + my $debug = AttrVal($iohash->{NAME},"debug",0); + + $rmsg=~ s/^\002(M.;.*;)\003/$1/; # cut off start end end character from message for further processing they are not needed Debug "$name: incomming message: ($rmsg)\n" if ($debug); @@ -1752,27 +2292,22 @@ SIGNALduino_Parse($$$$@) # Message Synced type -> M# if ($rmsg=~ m/^M\d+;(P\d=-?\d+;){4,7}D=\d+;CP=\d;SP=\d;/) { - Log3 $name, 3, "You are using an outdated version of signalduino code on your arduino. Please update"; + Log3 $name, 3, "$name: You are using an outdated version of signalduino code on your arduino. Please update"; return undef; } - if ($rmsg=~ m/^MS;(P\d=-?\d+;){4,7}D=\d+;CP=\d;SP=\d;/) + if (@{$hash->{msIdList}} && $rmsg=~ m/^MS;(P\d=-?\d+;){3,6}D=\d+;CP=\d;SP=\d;/) { $dispatched= SIGNALduino_Parse_MS($hash, $iohash, $name, $rmsg,%signal_parts); } - # Message unsynced type -> MU - elsif ($rmsg=~ m/^MU;(P\d=-?\d+;){4,7}D=\d+;CP=\d;/) + elsif (@{$hash->{muIdList}} && $rmsg=~ m/^MU;(P\d=-?\d+;){3,6}D=\d+;CP=\d;/) { - #return SIGNALduino_Parse_MU($hash, $iohash, $name, $rmsg,@msg_parts); $dispatched= SIGNALduino_Parse_MU($hash, $iohash, $name, $rmsg,%signal_parts); - } # Manchester encoded Data -> MC - elsif ($rmsg=~ m/^MC;.*;/) + elsif (@{$hash->{mcIdList}} && $rmsg=~ m/^MC;.*;/) { - #return SIGNALduino_Parse_MC($hash, $iohash, $name, $rmsg,@msg_parts); - $dispatched= SIGNALduino_Parse_MC($hash, $iohash, $name, $rmsg,%signal_parts); - + $dispatched= SIGNALduino_Parse_MC($hash, $iohash, $name, $rmsg,%signal_parts); } else { Debug "$name: unknown Messageformat, aborting\n" if ($debug); @@ -1831,7 +2366,7 @@ SIGNALduino_SimpleWrite(@) } my $name = $hash->{NAME}; - Log3 $name, 5, "SW: $msg"; + Log3 $name, 5, "$name SW: $msg"; $msg .= "\n" unless($nonl); @@ -1848,8 +2383,9 @@ SIGNALduino_Attr(@) { my ($cmd,$name,$aName,$aVal) = @_; my $hash = $defs{$name}; + my $debug = AttrVal($name,"debug",0); - Log3 $name, 5, "Calling Getting Attr sub with args: $cmd $aName = $aVal"; + Log3 $name, 4, "$name: Calling Getting Attr sub with args: $cmd $aName = $aVal"; if( $aName eq "Clients" ) { ## Change clientList $hash->{Clients} = $aVal; @@ -1863,7 +2399,7 @@ SIGNALduino_Attr(@) Log3 $name, 2, $name .": $aVal: ". $@; } } - + if( ref($match_list) eq 'HASH' ) { $hash->{MatchList} = $match_list; } else { @@ -1882,43 +2418,140 @@ SIGNALduino_Attr(@) $debug = $aVal; Log3 $name, 3, "$name: setting debug to: " . $debug; } - elsif ($aName eq "whitelist_IDs" && $cmd=="set") + elsif ($aName eq "whitelist_IDs") { - - my %WhitelistIDs; - if (defined($aVal) && length($aVal)>0) - { - %WhitelistIDs = map { $_ => 1 } split(",", $aVal); - $hash->{"whitelisthash"} = \%WhitelistIDs; - } else { - delete $hash->{"whitelisthash"}; - delete($attr{$name}{$aName}); - - Log3 $name, 5, "$name: deleting $aName"; - return "$name: deleting $aName"; - } + SIGNALduino_IdList($hash, $name, $aVal); } return undef; } +sub SIGNALduino_IdList($$$) +{ + my ($hash, $name, $aVal) = @_; + + my @msIdList = (); + my @muIdList = (); + my @mcIdList = (); + + my %WhitelistIDs; + my $wflag = 0; + if (defined($aVal) && length($aVal)>0) + { + %WhitelistIDs = map { $_ => 1 } split(",", $aVal); + #my $w = join ', ' => map "$_" => keys %WhitelistIDs; + #Log3 $name, 3, "Attr whitelist $w"; + $wflag = 1; + } + my $id; + foreach $id (keys %ProtocolListSIGNALduino) + { + next if ($id eq 'id'); + if ($wflag == 1 && !defined($WhitelistIDs{$id})) + { + #Log3 $name, 3, "skip ID $id"; + next; + } + + if (exists ($ProtocolListSIGNALduino{$id}{format}) && $ProtocolListSIGNALduino{$id}{format} eq "manchester") + { + push (@mcIdList, $id); + } + elsif (exists $ProtocolListSIGNALduino{$id}{sync}) + { + push (@msIdList, $id); + } + elsif (exists ($ProtocolListSIGNALduino{$id}{clockabs})) + { + push (@muIdList, $id); + } + } + + @msIdList = sort @msIdList; + @muIdList = sort @muIdList; + @mcIdList = sort @mcIdList; + + Log3 $name, 3, "$name: IDlist MS @msIdList"; + Log3 $name, 3, "$name: IDlist MU @muIdList"; + Log3 $name, 3, "$name: IDlist MC @mcIdList"; + + $hash->{msIdList} = \@msIdList; + $hash->{muIdList} = \@muIdList; + $hash->{mcIdList} = \@mcIdList; +} + + +sub SIGNALduino_callsub +{ + my $funcname =shift; + my $method = shift; + my $name = shift; + my @args = @_; + + + if ( defined $method && defined &$method ) + { + Log3 $name, 5, "$name: applying $funcname method $method"; + #Log3 $name, 5, "$name: value bevore $funcname: @args"; + + my @returnvalues = $method->(@args) ; + + Log3 $name, 5, "$name: modified value after $funcname: @returnvalues"; + return (1,@returnvalues); + } elsif (defined $method ) { + Log3 $name, 5, "$name: Error: Unknown method $funcname Please check definition"; + return (0,undef); + } + return (1,@args); +} + + +# calculates the hex (in bits) and adds it at the beginning of the message +# input = @list +# output = @list +sub SIGNALduino_lengtnPrefix +{ + my $msg = join("",@_); + + #$msg = unpack("B8", pack("N", length($msg))).$msg; + $msg=sprintf('%08b', length($msg)).$msg; + + return split("",$msg); +} + + +sub SIGNALduino_bit2Arctec +{ + my $msg = join("",@_); + # Convert 0 -> 01 1 -> 10 to be compatible with IT Module + $msg =~ s/0/z/g; + $msg =~ s/1/10/g; + $msg =~ s/z/01/g; + return split("",$msg); +} + + + sub SIGNALduino_OSV2() { my ($name,$bitData,$id) = @_; - if (index($bitData,"10011001",24) >= 24 and $bitData =~ m/^.?(10){12,16}/) + my $preamble_pos; + my $message_end; + my $message_length; + + if ($bitData =~ m/^.?(10){12,16}.?10011001/) { # Valid OSV2 detected! + $preamble_pos=index($bitData,"10011001",24); - Debug "$name: OSV2 protocol detected \n" if ($debug); - my $preamble_pos=index($bitData,"10011001",24); - + Log3 $name, 4, "$name: OSV2 protocol detected: preamble_pos = $preamble_pos"; return return (-1," sync not found") if ($preamble_pos <=24); - my $message_end=index($bitData,"10011001",$preamble_pos+44); - $message_end = length($bitData) if ($message_end == -1); - my $message_length = $message_end - $preamble_pos; + $message_end=index($bitData,"101010101010101010101010101010110011001",$preamble_pos+44); + $message_end = length($bitData) if ($message_end <$preamble_pos); + $message_length = ($message_end - $preamble_pos)/2; return (-1," message is to short") if (defined($ProtocolListSIGNALduino{$id}{length_min}) && $message_length < $ProtocolListSIGNALduino{$id}{length_min} ); return (-1," message is to long") if (defined($ProtocolListSIGNALduino{$id}{length_max}) && $message_length > $ProtocolListSIGNALduino{$id}{length_max} ); @@ -1943,15 +2576,78 @@ sub SIGNALduino_OSV2() { $rvosv2byte = substr($osv2byte,$p,1).$rvosv2byte; } - $osv2hex=$osv2hex.sprintf('%02X', oct("0b$rvosv2byte")) ; + $osv2hex=$osv2hex.sprintf('%02X', oct("0b$rvosv2byte")); $osv2bits = $osv2bits.$rvosv2byte; } $osv2hex = sprintf("%02X", length($osv2hex)*4).$osv2hex; - Log3 $name, 5, "$name: OSV2 protocol converted to hex: ($osv2hex) with length (".(length($osv2hex)*4).") bits \n"; + Log3 $name, 4, "$name: OSV2 protocol converted to hex: ($osv2hex) with length (".(length($osv2hex)*4).") bits"; #$found=1; #$dmsg=$osv2hex; return (1,$osv2hex); - } + } + elsif ($bitData =~ m/^.?(1){16,24}0101/) { # Valid OSV3 detected! + $preamble_pos = index($bitData, '0101', 16); + $message_end = length($bitData); + $message_length = $message_end - ($preamble_pos+4); + Log3 $name, 4, "$name: OSV3 protocol detected: preamble_pos = $preamble_pos, message_length = $message_length"; + + my $idx=0; + #my $osv3bits=""; + my $osv3hex =""; + + for ($idx=$preamble_pos+4;$idx= 0) # $rawData =~ m/^A{2,3}/) { # Valid AS detected! my $message_start = index($bitData,"1100",16); Debug "$name: AS protocol detected \n" if ($debug); my $message_end=index($bitData,"1100",$message_start+16); - $message_end = length($bitData) if ($message_end == -1); + $message_end = length($bitData) if ($message_end == -1); my $message_length = $message_end - $message_start; return (-1," message is to short") if (defined($ProtocolListSIGNALduino{$id}{length_min}) && $message_length < $ProtocolListSIGNALduino{$id}{length_min} ); @@ -2002,15 +2699,17 @@ sub SIGNALduino_AS() sub SIGNALduino_Hideki() { my ($name,$bitData,$id) = @_; + my $debug = AttrVal($name,"debug",0); + Debug "$name: search in $bitData \n" if ($debug); my $message_start = index($bitData,"10101110"); if ($message_start >= 0 ) # 0x75 but in reverse order { Debug "$name: Hideki protocol detected \n" if ($debug); - # Todo: Mindest Länge für startpunkt vorspringen - # Todo: Wiederholung auch an das Modul weitergeben, damit es dort geprüft werden kann - my $message_end = index($bitData,"10101110",$message_start+18); # pruefen auf ein zweites 0x75, mindestens 18 bit nach 1. 0x75 + # Todo: Mindest Laenge fuer startpunkt vorspringen + # Todo: Wiederholung auch an das Modul weitergeben, damit es dort geprueft werden kann + my $message_end = index($bitData,"10101110",$message_start+71); # pruefen auf ein zweites 0x75, mindestens 72 bit nach 1. 0x75, da der Regensensor minimum 8 Byte besitzt je byte haben wir 9 bit $message_end = length($bitData) if ($message_end == -1); my $message_length = $message_end - $message_start; @@ -2038,8 +2737,155 @@ sub SIGNALduino_Hideki() return (-1,""); } +# - - - - - - - - - - - - +#=item SIGNALduino_filterSign() +#This functons, will act as a filter function. It will remove the sign from the pattern, and compress message and pattern +# +# Will return $count of combined values, modified $rawData , modified %patternListRaw, +# =cut +sub SIGNALduino_filterSign($$$%) +{ + my ($name,$id,$rawData,%patternListRaw) = @_; + my $debug = AttrVal($name,"debug",0); + + + my %buckets; + # Remove Sign + %patternListRaw = map { $_ => abs($patternListRaw{$_})} keys %patternListRaw; ## remove sing from all + + my $intol=0; + my $cnt=0; + + # compress pattern hash + foreach my $key (keys %patternListRaw) { + + #print "chk:".$patternListRaw{$key}; + #print "\n"; + + $intol=0; + foreach my $b_key (keys %buckets){ + #print "with:".$buckets{$b_key}; + #print "\n"; + + # $value - $set <= $tolerance + if (SIGNALduino_inTol($patternListRaw{$key},$buckets{$b_key},$buckets{$b_key}*0.25)) + { + #print"\t". $patternListRaw{$key}."($key) is intol of ".$buckets{$b_key}."($b_key) \n"; + $cnt++; + eval "\$rawData =~ tr/$key/$b_key/"; + + #if ($key == $msg_parts{clockidx}) + #{ + # $msg_pats{syncidx} = $buckets{$key}; + # } + # elsif ($key == $msg_parts{syncidx}) + # { + # $msg_pats{syncidx} = $buckets{$key}; + # } + + $buckets{$b_key} = ($buckets{$b_key} + $patternListRaw{$key}) /2; + #print"\t recalc to ". $buckets{$b_key}."\n"; + + delete ($patternListRaw{$key}); # deletes the compressed entry + $intol=1; + last; + } + } + if ($intol == 0) { + $buckets{$key}=abs($patternListRaw{$key}); + } + } + + return ($cnt,$rawData, %patternListRaw); + #print "rdata: ".$msg_parts{rawData}."\n"; + + #print Dumper (%buckets); + #print Dumper (%msg_parts); + + #modify msg_parts pattern hash + #$patternListRaw = \%buckets; +} + + +# - - - - - - - - - - - - +#=item SIGNALduino_compPattern() +#This functons, will act as a filter function. It will remove the sign from the pattern, and compress message and pattern +# +# Will return $count of combined values, modified $rawData , modified %patternListRaw, +# =cut + + +sub SIGNALduino_compPattern($$$%) +{ + my ($name,$id,$rawData,%patternListRaw) = @_; + my $debug = AttrVal($name,"debug",0); + + + my %buckets; + # Remove Sign + #%patternListRaw = map { $_ => abs($patternListRaw{$_})} keys %patternListRaw; ## remove sing from all + + my $intol=0; + my $cnt=0; + + # compress pattern hash + foreach my $key (keys %patternListRaw) { + + #print "chk:".$patternListRaw{$key}; + #print "\n"; + + $intol=0; + foreach my $b_key (keys %buckets){ + #print "with:".$buckets{$b_key}; + #print "\n"; + + # $value - $set <= $tolerance + if (SIGNALduino_inTol($patternListRaw{$key},$buckets{$b_key},$buckets{$b_key}*0.4)) + { + #print"\t". $patternListRaw{$key}."($key) is intol of ".$buckets{$b_key}."($b_key) \n"; + $cnt++; + eval "\$rawData =~ tr/$key/$b_key/"; + + #if ($key == $msg_parts{clockidx}) + #{ + # $msg_pats{syncidx} = $buckets{$key}; + # } + # elsif ($key == $msg_parts{syncidx}) + # { + # $msg_pats{syncidx} = $buckets{$key}; + # } + + $buckets{$b_key} = ($buckets{$b_key} + $patternListRaw{$key}) /2; + #print"\t recalc to ". $buckets{$b_key}."\n"; + + delete ($patternListRaw{$key}); # deletes the compressed entry + $intol=1; + last; + } + } + if ($intol == 0) { + $buckets{$key}=$patternListRaw{$key}; + } + } + + return ($cnt,$rawData, %patternListRaw); + #print "rdata: ".$msg_parts{rawData}."\n"; + + #print Dumper (%buckets); + #print Dumper (%msg_parts); + + #modify msg_parts pattern hash + #$patternListRaw = \%buckets; +} + +#print Dumper (%msg_parts); +#print "\n"; +#SIGNALduino_filterSign(%msg_parts); +#print Dumper (%msg_parts); +#print "\n"; + 1; =pod @@ -2058,22 +2904,26 @@ sub SIGNALduino_Hideki() to receive and send different protocols over different medias. Currently are 433Mhz protocols implemented.

- The following devices are currently available: + The following device support is currently available:

Wireless switches
- IT/Elro and other brands --> uses IT.pm
+ ITv1 & ITv3/Elro and other brands using pt2263 or arctech protocol--> uses IT.pm


+ Temperatur / humidity senso
    -
  • Temperatur / humidity sensors suppored by 14_CUL_TCM97001:
  • -
  • PEARL NC7159, LogiLink WS0002,GT-WT-02,AURIOL,TCM97001, TCM27 and many more
  • -
  • Oregon Scientific v2 Sensors --> 41_OREGON.pm
  • -
  • Temperatur / humidity sensors suppored by 14_SD_WS07
  • -
  • technoline WS 6750 and TX70DTH
  • -
  • Eurochon EAS 800z
  • -
  • FreeTec NC-7344
  • +
  • PEARL NC7159, LogiLink WS0002,GT-WT-02,AURIOL,TCM97001, TCM27 and many more -> 14_CUL_TCM97001
  • +
  • Oregon Scientific v2 and v3 Sensors -> 41_OREGON.pm
  • +
  • Temperatur / humidity sensors suppored -> 14_SD_WS07
  • +
  • technoline WS 6750 and TX70DTH -> 14_SD_WS07
  • +
  • Eurochon EAS 800z -> 14_SD_WS07
  • +
  • CTW600, WH1080 -> 14_SD_WS09
  • +
  • Hama TS33C, Bresser Thermo/Hygro Sensor -> 14_Hideki
  • +
  • FreeTec Außenmodul NC-7344 -> 14_SD_WS07
  • + +


@@ -2177,13 +3027,6 @@ attr sduino longids BTHR918N Issue a SIGNALduino firmware command, and wait for one line of data returned by the SIGNALduino. See the SIGNALduino firmware code for details on SIGNALduino commands. With this line, you can send almost any signal via a transmitter connected -

- Example for Send raw: - SR;R=5;P0=294;P1=-381;P2=650;P3=-727;P4=-13076;P5=-15842;D=0501230121212301230301230121212121212303012301230304012301212123012303012301212121212123030123012303; -
-
Message is send 5 Types (R=5) -
D= specifies the messages, which is generated with Pulses (P0-P5). -
  • cmds
    Depending on the firmware installed, SIGNALduinos have a different set of @@ -2225,7 +3068,39 @@ attr sduino longids BTHR918N
  • +
  • sendMsg
    + This command will create the needed instructions for sending raw data via the signalduino. Insteaf of specifying the signaldata by your own you specify + a protocol and the bits you want to send. The command will generate the needed command, that the signalduino will send this. +

    + Please note, that this command will work only for MU or MS protocols. You can't transmit manchester data this way. +

    + Input args are: +

    + P#binarydata#R +
    Example: P0#0101#R3 +
    Will generate the raw send command for the message 0101 with protocol 0 and instruct the arduino to send this three times. +
    SR;R=3;P0=500;P1=-9000;P2=-4000;P3=-2000;D=03020302; +

    +

  • +
  • enableMessagetype
    + Allows you to enable the message processing for +
      +
    • messages with sync (syncedMS),
    • +
    • messages without a sync pulse (unsyncedMU)
    • +
    • manchester encoded messages (manchesterMC)
    • +
    + The new state will be saved into the eeprom of your arduino. +
  • +
  • disableMessagetype
    + Allows you to disable the message processing for +
      +
    • messages with sync (syncedMS),
    • +
    • messages without a sync pulse (unsyncedMU)
    • +
    • manchester encoded messages (manchesterMC)
    • +
    + The new state will be saved into the eeprom of your arduino. +
  • diff --git a/fhem/FHEM/14_Hideki.pm b/fhem/FHEM/14_Hideki.pm index a9e047735..dc513627e 100644 --- a/fhem/FHEM/14_Hideki.pm +++ b/fhem/FHEM/14_Hideki.pm @@ -4,7 +4,7 @@ # see http://www.fhemwiki.de/wiki/SIGNALduino # and was modified by a few additions # to support Hideki Sensors -# S. Butzek & HJGode &Ralf9 2015 +# S. Butzek & HJGode & Ralf9 2015-2016 # package main; @@ -22,7 +22,7 @@ Hideki_Initialize($) my ($hash) = @_; - $hash->{Match} = "^P12#75[A-F0-9]{17,30}"; # Länge (Anhahl nibbles nach 0x75 )noch genauer zpezifiieren + $hash->{Match} = "^P12#75[A-F0-9]{17,30}"; # Laenge (Anhahl nibbles nach 0x75 )noch genauer spezifizieren $hash->{DefFn} = "Hideki_Define"; $hash->{UndefFn} = "Hideki_Undef"; $hash->{AttrFn} = "Hideki_Attr"; @@ -91,42 +91,51 @@ Hideki_Parse($$) Log3 $iohash, 4, "$name decrypt failed"; return undef; } + + my $sensorTyp=getSensorType($decodedBytes[3]); + Log3 $iohash, 4, "Hideki_Parse SensorTyp = $sensorTyp decodedString = $decodedString"; + if (!Hideki_crc(\@decodedBytes)) { Log3 $iohash, 4, "$name crc failed"; return undef; } - my $sensorTyp=getSensorType($decodedBytes[3]); - Log3 $iohash, 4, "Hideki_Parse SensorTyp = $sensorTyp decodedString = $decodedString"; + my $id=substr($decodedString,2,2); # get the random id from the data my $channel=0; my $temp=0; my $hum=0; + my $rain=0; my $rc; my $val; my $bat; my $deviceCode; my $model= "Hideki_$sensorTyp"; - ## 1. Detect what type of sensor we have, then calll specific function to decode + ## 1. Detect what type of sensor we have, then call specific function to decode if ($sensorTyp==0x1E){ ($channel, $temp, $hum) = decodeThermoHygro(\@decodedBytes); # decodeThermoHygro($decodedString); $bat = ($decodedBytes[2] >> 6 == 3) ? 'ok' : 'low'; # decode battery $val = "T: $temp H: $hum Bat: $bat"; - }else{ + }elsif($sensorTyp==0x0E){ + ($channel, $rain) = decodeRain(\@decodedBytes); # decodeThermoHygro($decodedString); + $bat = ($decodedBytes[2] >> 6 == 3) ? 'ok' : 'low'; # decode battery + $val = "R: $rain Bat: $bat"; + } + else{ Log3 $iohash, 4, "$name Sensor Typ $sensorTyp not supported, please report sensor information!"; return "$name Sensor Typ $sensorTyp not supported, please report sensor information!"; } my $longids = AttrVal($iohash->{NAME},'longids',0); - if ( ($longids != 0) && ($longids eq "1" || $longids eq "ALL" || (",$longids," =~ m/,$model,/))) + if ( ($longids ne "0") && ($longids eq "1" || $longids eq "ALL" || (",$longids," =~ m/,$model,/))) { - $deviceCode = $model . "_" . $id; + $deviceCode=$model . "_" . $id . "." . $channel; Log3 $iohash,4, "$name using longid: $longids model: $model"; } else { $deviceCode = $model . "_" . $channel; } - Log3 $iohash, 4, "$name decoded Hideki protocol model=$model, sensor id=$id, channel=$channel, temp=$temp, humidity=$hum, bat=$bat"; + Log3 $iohash, 4, "$name decoded Hideki protocol model=$model, sensor id=$id, channel=$channel, temp=$temp, humidity=$hum, bat=$bat, rain=$rain"; Log3 $iohash, 5, "deviceCode: $deviceCode"; my $def = $modules{Hideki}{defptr}{$iohash->{NAME} . "." . $deviceCode}; @@ -161,8 +170,14 @@ Hideki_Parse($$) readingsBeginUpdate($hash); readingsBulkUpdate($hash, "state", $val); readingsBulkUpdate($hash, "battery", $bat) if ($bat ne ""); - readingsBulkUpdate($hash, "humidity", $hum) if ($hum ne ""); - readingsBulkUpdate($hash, "temperature", $temp) if ($temp ne ""); + readingsBulkUpdate($hash, "channel", $channel) if ($channel ne ""); + if ($sensorTyp==0x1E){ + readingsBulkUpdate($hash, "humidity", $hum) if ($hum ne ""); + readingsBulkUpdate($hash, "temperature", $temp) if ($temp ne ""); + } + elsif($sensorTyp==0x0E){ + readingsBulkUpdate($hash, "rain", $rain) if ($rain ne ""); + } readingsEndUpdate($hash, 1); # Notify is done by Dispatch return $name; @@ -276,6 +291,46 @@ sub decodeThermoHygro { return ($channel, $temp, $humi); } +# decode byte array and return channel and total rain in mm +# input: decrypted byte array starting with 0x75, passed by reference as in mysub(\@array); +# output , , +# was unable to get this working with an array ref as input, so switched to hex string input +sub decodeRain { + my @Hidekibytes = @{$_[0]}; + + #my $Hidekihex = shift; + #my @Hidekibytes=(); + #for (my $i=0; $i<(length($Hidekihex))/2; $i++){ + # my $hex=hex(substr($Hidekihex, $i*2, 2)); ## Mit split und map geht es auch ... $str =~ /(..?)/g; + # push (@Hidekibytes, $hex); + #} + my $channel=0; + my $rain=0; + + my $tests=0; + #additional checks? + if($Hidekibytes[2]==0xCC){ + $tests+=1; + } + if($Hidekibytes[6]==0x66){ + $tests+=1; + } + # possibly test if $tests==2 for sanity check + #printf("SANITY CHECK tests=%i\n", $tests); + + $channel = $Hidekibytes[1] >> 5; + # //Internally channel 4 is used for the other sensor types (rain, uv, anemo). + # //Therefore, if channel is decoded 5 or 6, the real value set on the device itself is 4 resp 5. + if ($channel >= 5) { + $channel--; + } + my $sensorId = $Hidekibytes[1] & 0x1f; # Extract random id from sensor + + $rain = ($Hidekibytes[4] + $Hidekibytes[5]*0xff)*0.7; + + return ($channel, $rain); +} + sub Hideki_Attr(@) { @@ -337,6 +392,7 @@ Hideki_Attr(@)
  • temperature (°C)
  • humidity (0-100)
  • battery (ok or low)
  • +
  • channel (The Channelnumber (number if)
  • @@ -369,7 +425,7 @@ Hideki_Attr(@)

    - Unterstützte Hersteller + Unterstuetzte Hersteller
    • Hama
    • Bresser
    • @@ -390,7 +446,7 @@ Hideki_Attr(@) <code> besteht aus dem Sensortyp und der Kanalnummer (1..5) oder wenn das Attribut longid im IO Device gesetzt ist aus einer Zufallsadresse, die durch den Sensor beim einlegen der Batterie generiert wird (Die Adresse aendert sich bei jedem Batteriewechsel).
      -
    • Wenn autocreate aktiv ist, dann wird der Sensor automatisch in FHEM angelegt. Das ist der empfohlene Weg, neue Sensoren hinzuzufügen.
    • +
    • Wenn autocreate aktiv ist, dann wird der Sensor automatisch in FHEM angelegt. Das ist der empfohlene Weg, neue Sensoren hinzuzufuegen.

    @@ -402,6 +458,7 @@ Hideki_Attr(@)
  • temperature (°C)
  • humidity (0-100)
  • battery (ok or low)
  • +
  • channel (Der Sensor Kanal)
  • Set
      N/A

    diff --git a/fhem/FHEM/14_SD_WS07.pm b/fhem/FHEM/14_SD_WS07.pm index 6c4f0deb0..d213920e8 100644 --- a/fhem/FHEM/14_SD_WS07.pm +++ b/fhem/FHEM/14_SD_WS07.pm @@ -1,10 +1,9 @@ ############################################## -############################################## # $Id$ # # The purpose of this module is to support serval eurochron # weather sensors like eas8007 which use the same protocol -# Sidey79 & Ralf9 2015 +# Sidey79 & Ralf9 2015-2016 # package main; @@ -81,7 +80,6 @@ SD_WS07_Parse($$) my $hlen = length($rawData); my $blen = $hlen * 4; my $bitData = unpack("B$blen", pack("H$hlen", $rawData)); - Log3 $name, 4, "SD_WS07_Parse $model ($msg) length: $hlen"; @@ -117,23 +115,24 @@ SD_WS07_Parse($$) } if ($hum > 100) { - return undef; # Eigentlich müsste sowas wie ein skip rein, damit ggf. später noch weitre Sensoren dekodiert werden können. + return undef; # Eigentlich muesste sowas wie ein skip rein, damit ggf. spaeter noch weitre Sensoren dekodiert werden koennen. } if ($temp > 700 && $temp < 3840) { return undef; - } elsif ($temp >= 3840) { # negative Temperaturen, muß noch ueberprueft und optimiert werden + } elsif ($temp >= 3840) { # negative Temperaturen, muss noch ueberprueft und optimiert werden $temp -= 4095; } $temp /= 10; - Log3 $iohash, 4, "$model decoded protocolid: 7 sensor id=$id, channel=$channel, temp=$temp, hum=$hum, bat=$bat" ; + Log3 $iohash, 4, "$model decoded protocolid: 7 sensor id=$id, channel=$channel, temp=$temp, hum=$hum, bat=$bat"; + my $deviceCode; my $longids = AttrVal($iohash->{NAME},'longids',0); - if ( ($longids != 0) && ($longids eq "1" || $longids eq "ALL" || (",$longids," =~ m/,$model,/))) + if ( ($longids ne "0") && ($longids eq "1" || $longids eq "ALL" || (",$longids," =~ m/,$model,/))) { - $deviceCode=$model."_".$id.$channel; + $deviceCode=$model.'_'.$id.$channel; Log3 $iohash,4, "$name using longid: $longids model: $model"; } else { $deviceCode = $model . "_" . $channel; @@ -150,10 +149,9 @@ SD_WS07_Parse($$) } #Log3 $iohash, 3, 'SD_WS07: ' . $def->{NAME} . ' ' . $id; - my $hash = $def; $name = $hash->{NAME}; - Log3 $name, 5, "SD_WS07: $name ($rawData)"; + Log3 $name, 4, "SD_WS07: $name ($rawData)"; if (!defined(AttrVal($hash->{NAME},"event-min-interval",undef))) { @@ -164,9 +162,9 @@ SD_WS07_Parse($$) } } - - $def->{lastMSG} = $rawData; - $def->{bitMSG} = $bitData2; + $hash->{lastReceive} = time(); + $hash->{lastMSG} = $rawData; + $hash->{bitMSG} = $bitData2; my $state = "T: $temp". ($hum>0 ? " H: $hum":""); @@ -261,12 +259,14 @@ sub SD_WS07_Attr(@)

    SD_WS07

      - Das SD_WS07 Module verarbeitet von einem IO Gerät (CUL, CUN, SIGNALDuino, etc.) empfangene Nachrichten von Temperatur-Sensoren.
      + Das SD_WS07 Module verarbeitet von einem IO Geraet (CUL, CUN, SIGNALDuino, etc.) empfangene Nachrichten von Temperatur-Sensoren.

      - Unterstütze Modelle: + Unterstuetze Modelle:
      • Eurochon EAS800z
      • Technoline WS6750/TX70DTH
      • +
      • TFA 30320902
      • +
      • FreeTec Aussenmodul fuer Wetterstation NC-7344

      Neu empfangene Sensoren werden in FHEM per autocreate angelegt. @@ -275,7 +275,7 @@ sub SD_WS07_Attr(@) Define
        Die empfangenen Sensoren werden automatisch angelegt.
        - Die ID der angelgten Sensoren ist entweder der Kanal des Sensors, oder wenn das Attribut longid gesetzt ist, dann wird die ID aus dem Kanal und einer Reihe von Bits erzeugt, welche der Sensor beim Einschalten zufällig vergibt.
        + Die ID der angelgten Sensoren ist entweder der Kanal des Sensors, oder wenn das Attribut longid gesetzt ist, dann wird die ID aus dem Kanal und einer Reihe von Bits erzeugt, welche der Sensor beim Einschalten zufaellig vergibt.

      diff --git a/fhem/FHEM/14_SD_WS09.pm b/fhem/FHEM/14_SD_WS09.pm new file mode 100644 index 000000000..ef9c8d8ea --- /dev/null +++ b/fhem/FHEM/14_SD_WS09.pm @@ -0,0 +1,411 @@ + ############################################## + ############################################## + # $Id$ + # + # The purpose of this module is to support serval + # weather sensors like WS-0101 (Sender 868MHz ASK Epmfänger RX868SH-DV elv) + # Sidey79 & pejonp 2015 + # + package main; + + use strict; + use warnings; + #use Math::Round qw/nearest/; + + sub SD_WS09_Initialize($) + { + my ($hash) = @_; + + $hash->{Match} = "^P9#[A-Fa-f0-9]+"; ## pos 7 ist aktuell immer 0xF + $hash->{DefFn} = "SD_WS09_Define"; + $hash->{UndefFn} = "SD_WS09_Undef"; + $hash->{ParseFn} = "SD_WS09_Parse"; + $hash->{AttrFn} = "SD_WS09_Attr"; + $hash->{AttrList} = "IODev do_not_notify:1,0 ignore:0,1 showtime:1,0 " + ."windKorrektur:-3,-2,-1,0,1,2,3 " + ."$readingFnAttributes "; + $hash->{AutoCreate} = + { "SD_WS09.*" => { ATTR => "event-min-interval:.*:300 event-on-change-reading:.* windKorrektur:.*:0", FILTER => "%NAME", GPLOT => "temp4hum4:Temp/Hum,", autocreateThreshold => "2:180"} }; + + + } + + ############################# + sub SD_WS09_Define($$) + { + my ($hash, $def) = @_; + my @a = split("[ \t][ \t]*", $def); + + return "wrong syntax: define SD_WS09 ".int(@a) + if(int(@a) < 3 ); + + $hash->{CODE} = $a[2]; + $hash->{lastMSG} = ""; + $hash->{bitMSG} = ""; + + $modules{SD_WS09}{defptr}{$a[2]} = $hash; + $hash->{STATE} = "Defined"; + + my $name= $hash->{NAME}; + return undef; + } + + ##################################### + sub SD_WS09_Undef($$) + { + my ($hash, $name) = @_; + delete($modules{SD_WS09}{defptr}{$hash->{CODE}}) + if(defined($hash->{CODE}) && + defined($modules{SD_WS09}{defptr}{$hash->{CODE}})); + return undef; + } + + + ################################### + sub SD_WS09_Parse($$) + { + my ($iohash, $msg) = @_; + my $name = $iohash->{NAME}; + my (undef ,$rawData) = split("#",$msg); + my @winddir_name=("N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"); + my $hlen = length($rawData); + my $blen = $hlen * 4; + my $bitData = unpack("B$blen", pack("H$hlen", $rawData)); + my $rain = 0; + my $deviceCode = 0; + my $model = "undef"; # 0xFFA -> WS0101/WH1080 alles andere -> CTW600 + my $modelid; + my $windSpeed = 0; + my $windguest =0; + my $sensdata; + my $id; + my $bat = 0; + my $temp; + my $hum; + my $windDirection ; + my $windDirectionText; + + + Log3 $name, 4, "SD_WS09_Parse HEX=$msg length: $hlen"; + my $syncpos= index($bitData,"11111110"); #7x1 1x0 preamble + + Log3 $iohash, 3, "SD_WS09_Parse Bin=$bitData syncp=$syncpos length:".length($bitData) ; + + if ($syncpos ==-1 || length($bitData)-$syncpos < 78) + { + Log3 $iohash, 3, "EXIT SD_WS09_Parse msg=$rawData syncp=$syncpos length:".length($bitData) ; + return undef; + } + + my $wh = substr($bitData,0,8); + if($wh == "11111111") { + $sensdata = substr($bitData,8); + my $whid = substr($sensdata,0,4); + if( $whid == "1010" ){ # A + Log3 $iohash, 3, "WH SD_WS09_Parse WH=$wh msg=$sensdata syncp=$syncpos length:".length($sensdata) ; + $model = "WH1080"; + $id = SD_WS09_bin2dec(substr($sensdata,4,8)); + $bat = (SD_WS09_bin2dec((substr($sensdata,64,4))) == 0) ? 'ok':'low' ; # decode battery = 0 --> ok + $temp = (SD_WS09_bin2dec(substr($sensdata,12,12)) - 400)/10; + $hum = SD_WS09_bin2dec(substr($sensdata,24,8)); + $windDirection = SD_WS09_bin2dec(substr($sensdata,68,4)); + $windDirectionText = $winddir_name[$windDirection]; + $windSpeed = round((SD_WS09_bin2dec(substr($sensdata,32,8))* 34)/100,01); + Log3 $iohash, 3, "SD_WS09_Parse ".$model." Windspeed bit: ".substr($sensdata,32,8)." Dec: " . $windSpeed ; + $windguest = round((SD_WS09_bin2dec(substr($sensdata,40,8)) * 34)/100,01); + Log3 $iohash, 3, "SD_WS09_Parse ".$model." Windguest bit: ".substr($sensdata,40,8)." Dec: " . $windguest ; + $rain = SD_WS09_bin2dec(substr($sensdata,56,8)) * 0.3; + Log3 $iohash, 3, "SD_WS09_Parse ".$model." Rain bit: ".substr($sensdata,56,8)." Dec: " . $rain ; + } else { + if( $whid == "1011" ){ # B DCF-77 Zeitmeldungen vom Sensor + my $hrs1 = substr($sensdata,16,8); + my $hrs; + my $mins; + my $sec; + my $mday; + my $month; + my $year; + Log3 $iohash, 3, "Zeitmeldung SD_WS09_Parse HRS1=$hrs1" ; + # $hrs = SD_WS09_BCD2bin(substr($sensdata,16,8) & 0x3F) ; #h + $hrs = SD_WS09_BCD2bin(substr($sensdata,18,6) ) ; # Stunde + $mins = SD_WS09_BCD2bin(substr($sensdata,24,8)); # Minute + $sec = SD_WS09_BCD2bin(substr($sensdata,32,8)); # Sekunde + #day month year + $year = SD_WS09_BCD2bin(substr($sensdata,40,8)); # Jahr + #$month = SD_WS09_BCD2bin(substr($sensdata,48,8) & 0x1f); #d + $month = SD_WS09_BCD2bin(substr($sensdata,51,5)); # Monat + $mday = SD_WS09_BCD2bin(substr($sensdata,56,8)); # Tag + Log3 $iohash, 3, "Zeitmeldung SD_WS09_Parse msg=$rawData syncp=$syncpos length:".length($bitData) ; + Log3 $iohash, 3, "Zeitmeldung SD_WS09_Parse HH:mm:ss - ".$hrs.":".$mins.":".$sec ; + Log3 $iohash, 3, "Zeitmeldung SD_WS09_Parse dd:mm:yy - ".$mday.":".$month.":".$year ; + } + Log3 $iohash, 3, "Zeitmeldung SD_WS09_Parse msg=$rawData syncp=$syncpos length:".length($sensdata) ; + return undef; + } + }else{ + # eine CTW600 wurde erkannt + $sensdata = substr($bitData,$syncpos+8); + Log3 $iohash, 3, "WH_2 SD_WS09_Parse WH=$wh msg=$sensdata syncp=$syncpos length:".length($sensdata) ; + $model = "CTW600"; + $modelid = substr($sensdata,0,4); + Log3 $iohash, 3, "SD_WS09_Parse Id: ".$modelid." Bin-Sync=$sensdata syncp=$syncpos length:".length($sensdata) ; + $bat = SD_WS09_bin2dec((substr($sensdata,0,3))) ; + $id = SD_WS09_bin2dec(substr($sensdata,4,6)); + $temp = (SD_WS09_bin2dec(substr($sensdata,12,10)) - 400)/10; + $hum = SD_WS09_bin2dec(substr($sensdata,22,8)); + $windDirection = SD_WS09_bin2dec(substr($sensdata,66,4)); + $windDirectionText = $winddir_name[$windDirection]; + $windSpeed = round(SD_WS09_bin2dec(substr($sensdata,30,16))/240,01); + Log3 $iohash, 3, "SD_WS09_Parse ".$model." Windspeed bit: ".substr($sensdata,32,8)." Dec: " . $windSpeed ; + $windguest = round((SD_WS09_bin2dec(substr($sensdata,40,8)) * 34)/100,01); + Log3 $iohash, 3, "SD_WS09_Parse ".$model." Windguest bit: ".substr($sensdata,40,8)." Dec: " . $windguest ; + $rain = round(SD_WS09_bin2dec(substr($sensdata,46,16)) * 0.3,01); + Log3 $iohash, 3, "SD_WS09_Parse ".$model." Rain bit: ".substr($sensdata,46,16)." Dec: " . $rain ; + } + + Log3 $iohash, 3, "SD_WS09_Parse ".$model." id:$id :$sensdata "; + Log3 $iohash, 3, "SD_WS09_Parse ".$model." id:$id, bat:$bat, temp=$temp, hum=$hum, winddir=$windDirection:$windDirectionText wS=$windSpeed, wG=$windguest, rain=$rain"; + + if($hum > 100 || $hum < 0) { + Log3 $iohash, 3, "Hum SD_WS09_Parse hum=$hum msg=$rawData " ; + return undef; + } + + my $longids = AttrVal($iohash->{NAME},'longids',0); + if ( ($longids ne "0") && ($longids eq "1" || $longids eq "ALL" || (",$longids," =~ m/,$model,/))) + { + $deviceCode=$model."_".$id; + Log3 $iohash,4, "$name using longid: $longids model: $model"; + } else { + $deviceCode = $model; + } + + my $def = $modules{SD_WS09}{defptr}{$iohash->{NAME} . "." . $deviceCode}; + $def = $modules{SD_WS09}{defptr}{$deviceCode} if(!$def); + + if(!$def) { + Log3 $iohash, 1, 'SD_WS09: UNDEFINED sensor ' . $model . ' detected, code ' . $deviceCode; + return "UNDEFINED $deviceCode SD_WS09 $deviceCode"; + } + + my $hash = $def; + $name = $hash->{NAME}; + Log3 $name, 4, "SD_WS09_Parse: $name ($rawData)"; + + my $windkorr = AttrVal($hash->{NAME},'windKorrektur',0); + if ($windkorr != 0 ) + { + my $oldwinddir = $windDirection; + $windDirection = $windDirection + $windkorr; + $windDirectionText = $winddir_name[$windDirection]; + Log3 $iohash, 3, "SD_WS09_Parse ".$model." Faktor:$windkorr wD:$oldwinddir Korrektur wD:$windDirection:$windDirectionText" ; + } + + if (!defined(AttrVal($hash->{NAME},"event-min-interval",undef))) + { + my $minsecs = AttrVal($iohash->{NAME},'minsecs',0); + if($hash->{lastReceive} && (time() - $hash->{lastReceive} < $minsecs)) { + Log3 $hash, 4, "$deviceCode Dropped due to short time. minsecs=$minsecs"; + return ""; + } + } + + + $def->{lastMSG} = $rawData; + #$def->{bitMSG} = $bitData2; + + my $state = "T: $temp ". ($hum>0 ? " H: $hum ":" ")." Ws: $windSpeed "." Wg: $windguest "." Wd: $windDirectionText "." R: $rain"; + # my $state = "T: $temp". ($hum>0 ? " H: $hum":""); + + readingsBeginUpdate($hash); + readingsBulkUpdate($hash, "state", $state); + readingsBulkUpdate($hash, "temperature", $temp) if ($temp ne""); + readingsBulkUpdate($hash, "humidity", $hum) if ($hum ne "" && $hum != 0 ); + readingsBulkUpdate($hash, "battery", $bat) if ($bat ne ""); + readingsBulkUpdate($hash, "id", $id) if ($id ne ""); + + #zusätzlich Daten für Wetterstation + readingsBulkUpdate($hash, "rain", $rain ); + readingsBulkUpdate($hash, "windGust", $windguest ); + readingsBulkUpdate($hash, "windSpeed", $windSpeed ); + readingsBulkUpdate($hash, "windDirectionDegree", $windDirection ); + readingsBulkUpdate($hash, "windDirectionText", $windDirectionText ); + readingsEndUpdate($hash, 1); # Notify is done by Dispatch + + return $name; + + } + + sub SD_WS09_Attr(@) + { + my @a = @_; + + # Make possible to use the same code for different logical devices when they + # are received through different physical devices. + return if($a[0] ne "set" || $a[2] ne "IODev"); + my $hash = $defs{$a[1]}; + my $iohash = $defs{$a[3]}; + my $cde = $hash->{CODE}; + delete($modules{SD_WS09}{defptr}{$cde}); + $modules{SD_WS09}{defptr}{$iohash->{NAME} . "." . $cde} = $hash; + return undef; + } + + + sub SD_WS09_bin2dec($) + { + my $h = shift; + my $int = unpack("N", pack("B32",substr("0" x 32 . $h, -32))); + return sprintf("%d", $int); + } + sub SD_WS09_binflip($) + { + my $h = shift; + my $hlen = length($h); + my $i = 0; + my $flip = ""; + + for ($i=$hlen-1; $i >= 0; $i--) { + $flip = $flip.substr($h,$i,1); + } + + return $flip; + } + + sub SD_WS09_BCD2bin($) { + my $BCD = shift; + return (10 * ($BCD >> 4 & 0xF) + ($BCD & 0xF)); + } + + + + + 1; + + +=pod +=begin html + + +

      Wether Sensors protocol #9

      +
        + The SD_WS09 module interprets temperature sensor messages received by a Device like CUL, CUN, SIGNALduino etc.
        +
        + Known models: +
          +
        • WS-0101 --> Model: WH1080
        • +
        • TFA 30.3189 / WH1080 --> Model: WH1080
        • +
        • 1073 (WS1080) --> Model: WH1080
        • +
        • CTW600 --> Model: CTW600 (??)
        • +
        +
        + New received device are add in fhem with autocreate. +

        + + + Define +
          The received devices created automatically.
          + The ID of the defice is the model or, if the longid attribute is specified, it is a combination of model and some random generated bits at powering the sensor.
          + If you want to use more sensors, you can use the longid option to differentiate them. +
        +
        + + Generated readings: +
        Some devices may not support all readings, so they will not be presented
        +
          +
        • State (T: H: Ws: Wg: Wd: R: ) temperature, humidity, windSpeed, windGuest, windDirection, Rain
        • +
        • Temperature (°C)
        • +
        • Humidity: (The humidity (1-100 if available)
        • +
        • Battery: (low or ok)
        • +
        • ID: (The ID-Number (number if)
        • +
        • windSpeed (m/s) and windDirection (N-O-S-W)
        • +
        • Rain (mm)
        • +
        +
        + Attributes + + + + Set
          N/A

        + + + Set
          N/A

        + +
      + +=end html +=begin html_DE + + +

      SD_WS09

      +
        + Das SD_WS09 Module verarbeitet von einem IO Gerät (CUL, CUN, SIGNALDuino, etc.) empfangene Nachrichten von Temperatur-Sensoren.
        +
        + Unterstütze Modelle: +
          +
        • WS-0101 --> Model: WH1080
        • +
        • TFA 30.3189 / WH1080 --> Model: WH1080
        • +
        • 1073 (WS1080) --> Model: WH1080
        • +
        • CTW600 --> Model: CTW600 (nicht getestet)
        • +
        +
        + Neu empfangene Sensoren werden in FHEM per autocreate angelegt. +

        + + + Define +
          Die empfangenen Sensoren werden automatisch angelegt.
          + Die ID der angelegten Sensoren wird nach jedem Batteriewechsel geändert, welche der Sensor beim Einschalten zufällig vergibt.
          + CRC Checksumme wird zur Zeit noch nicht überprüft, deshalb werden Sensoren bei denen die Luftfeuchte < 0 oder > 100 ist, nicht angelegt.
          +
        +
        + + Generierte Readings: +
          +
        • State (T: H: Ws: Wg: Wd: R: ) temperature, humidity, windSpeed, windGuest, windDirection, Rain
        • +
        • Temperature (°C)
        • +
        • Humidity: (The humidity (1-100 if available)
        • +
        • Battery: (low or ok)
        • +
        • ID: (The ID-Number (number if)
        • +
        • windSpeed (m/s) and windDirection (N-O-S-W)
        • +
        • Rain (mm)
        • +
        +
        + Attribute +
          +
        • do_not_notify
        • +
        • ignore
        • +
        • showtime
        • +
        • readingFnAttributes
        • +
        • model
          + WH1080, CTW600 +

        • + +
        • windKorrektur
          + Korrigiert die Nord-Ausrichtung des Windrichtungsmessers, wenn dieser nicht richtig nach Norden ausgerichtet ist. + -3,-2,-1,0,1,2,3 +

        • +
        + + + Set
          N/A

        + + + Set
          N/A

        + +
      + +=end html_DE +=cut diff --git a/fhem/FHEM/90_SIGNALduino_un.pm b/fhem/FHEM/90_SIGNALduino_un.pm index 463672e97..be1c42c43 100644 --- a/fhem/FHEM/90_SIGNALduino_un.pm +++ b/fhem/FHEM/90_SIGNALduino_un.pm @@ -188,13 +188,16 @@ SIGNALduino_un_Parse($$) Log3 $hash, 4, "$name found ctw600 syncpos at $syncpos message is: $sensdata - sensor id:$id, bat:$bat, temp=$temp, hum=$hum, wind=$wind, rain=$rain, winddir=$winddir"; - } elsif ($protocol == "13" && length($bitData)>=14) ## RF20 Protocol + } elsif ($protocol == "13" && length($bitData)>=14) ## RF21 Protocol { - my $model=$a[3]; - my $deviceCode = $a[5].$a[6].$a[7].$a[8].$a[9]; - my $Freq = $a[10].$a[11].$a[12].$a[13].$a[14]; + #my $model=$a[3]; + #my $deviceCode = $a[5].$a[6].$a[7].$a[8].$a[9]; + #my $Freq = $a[10].$a[11].$a[12].$a[13].$a[14]; + my $deviceCode = substr($bitData,0,23); + my $unit= substr($bitData,23,1); + - Log3 $hash, 4, "$name found RF21 protocol. model=$model, devicecode=$deviceCode, freq=$Freq "; + Log3 $hash, 4, "$name found RF21 protocol. devicecode=$deviceCode, unit=$unit"; } elsif ($protocol == "14" && length($bitData)>=12) ## Heidman HX { @@ -218,20 +221,21 @@ SIGNALduino_un_Parse($$) { Log3 $hash, 4, "$name / shutter Dooya $bitData received"; + Log3 $hash,4, substr($bitData,0,23)." ".substr($bitData,24,4)." ".substr($bitData,28,4)." ".substr($bitData,32,4)." ".substr($bitData,36,4); + my $id = SIGNALduino_un_binaryToNumber($bitData,0,23); + my $remote = SIGNALduino_un_binaryToNumber($bitData,24,27); + my $channel = SIGNALduino_un_binaryToNumber($bitData,28,31); - my $id = oct("0b".substr($bitData,0,29)); - my $channel = oct("0b".substr($bitData,29,3)); - - my $all = ($channel == 0) ? 1 : 0; - my $commandcode = oct("0b".substr($bitData,33,4)); + my $all = ($channel == 0) ? "true" : "false"; + my $commandcode = SIGNALduino_un_binaryToNumber($bitData,32,35); my $direction=""; - if ($commandcode == 0b001) {$direction="up";} - elsif ($commandcode == 0b011) {$direction="down";} - elsif ($commandcode == 0b101) {$direction="stop";} + if ($commandcode == 0b0001) {$direction="up";} + elsif ($commandcode == 0b0011) {$direction="down";} + elsif ($commandcode == 0b0101) {$direction="stop";} + elsif ($commandcode == 0b1100) {$direction="learn";} else { $direction="unknown";} - - Log3 $hash, 4, "$name found shutter from Dooya. id=$id, channel=$channel, direction=$direction, all_shutters=$all"; + Log3 $hash, 4, "$name found shutter from Dooya. id=$id, remotetype=$remote, channel=$channel, direction=$direction, all_shutters=$all"; } elsif ($protocol == "21" && length($bitData)>=32) ##Einhell doorshutter { @@ -259,6 +263,50 @@ SIGNALduino_un_Parse($$) Log3 $hash, 4, "$name decoded protocolid: 7 ($SensorTyp / type=$type) mode=$sendMode, sensor id=$id, channel=$channel, temp=$temp, bat=$bat\n" ; + } elsif ($protocol == "33" && length($bitData)>=42) ## S014 or tcm sensor + { + my $SensorTyp = "s014/TFA 30.3200/TCM/Conrad"; + + my $id = SIGNALduino_un_binaryToNumber($bitData,0,9); + #my $unknown1 = SIGNALduino_un_binaryToNumber($bitData,8,10); + my $sendMode = SIGNALduino_un_binaryToNumber($bitData,10,11) eq "1" ? "manual" : "auto"; + + my $channel = SIGNALduino_un_binaryToNumber($bitData,12,13)+1; + #my $temp = (((oct("0b".substr($bitData,22,4))*256) + (oct("0b".substr($bitData,18,4))*16) + (oct("0b".substr($bitData,14,4)))/10) - 90 - 32) * (5/9); + my $temp = (((SIGNALduino_un_binaryToNumber($bitData,22,25)*256 + SIGNALduino_un_binaryToNumber($bitData,18,21)*16 + SIGNALduino_un_binaryToNumber($bitData,14,17)) *10 -12200) /18)/10; + + my $hum=SIGNALduino_un_binaryToNumber($bitData,30,33)*16 + SIGNALduino_un_binaryToNumber($bitData,26,29); + my $bat = SIGNALduino_un_binaryToBoolean($bitData,34) eq "1" ? "ok" : "critical"; # Eventuell falsch! + my $sync = SIGNALduino_un_binaryToBoolean($bitData,35,35) eq "1" ? "true" : "false"; + my $unknown3 =SIGNALduino_un_binaryToNumber($bitData,36,37); + + my $crc=substr($bitData,36,4); + + + Log3 $hash, 4, "$name decoded protocolid: $protocol ($SensorTyp ) mode=$sendMode, sensor id=$id, channel=$channel, temp=$temp, hum=$hum, bat=$bat, crc=$crc, sync=$sync, unkown3=$unknown3\n" ; + } elsif ($protocol == "37" && length($bitData)>=40) ## Bresser 7009993 + { + + # 0 7 8 9 10 12 22 25 31 + # 01011010 0 0 01 01100001110 10 0111101 11001010 + # ID B? T Kan Temp ?? Hum Pruefsumme? + # + + my $SensorTyp = "Bresser 7009994"; + + my $id = SIGNALduino_un_binaryToNumber($bitData,0,7); + my $channel = SIGNALduino_un_binaryToNumber($bitData,10,11); + my $hum=SIGNALduino_un_binaryToNumber($bitData,25,31); + my $rawTemp = SIGNALduino_un_binaryToNumber($bitData,12,22); + my $temp = ($rawTemp - 609.93) / 9.014; + $temp = sprintf("%.2f", $temp); + + my $bitData2 = substr($bitData,0,8) . ' ' . substr($bitData,8,4) . ' ' . substr($bitData,12,11); + $bitData2 = $bitData2 . ' ' . substr($bitData,23,2) . ' ' . substr($bitData,25,7) . ' ' . substr($bitData,32,8); + Log3 $hash, 4, "$name converted to bits: " . $bitData2; + Log3 $hash, 4, "$name decoded protocolid: $protocol ($SensorTyp) sensor id=$id, channel=$channel, rawTemp=$rawTemp, temp=$temp, hum=$hum"; + + } else { return $dummyreturnvalue; } @@ -286,6 +334,28 @@ SIGNALduino_un_Attr(@) } +# binary string, fistbit #, lastbit # + +sub +SIGNALduino_un_binaryToNumber +{ + my $binstr=shift; + my $fbit=shift; + my $lbit=$fbit; + $lbit=shift if @_; + + + return oct("0b".substr($binstr,$fbit,($lbit-$fbit)+1)); + +} + + +sub +SIGNALduino_un_binaryToBoolean +{ + return int(SIGNALduino_un_binaryToNumber(@_)); +} + sub SIGNALduino_un_bin2dec($) @@ -355,8 +425,8 @@ SIGNALduino_un_binflip($)

      SIGNALduino_un

        - Das SIGNALduino_un module ist ein Hilfsmodul um unbekannte Nachrichten debuggen und analysieren zu können. - Das Modul legt keinerlei Geräte oder ähnliches an. + Das SIGNALduino_un module ist ein Hilfsmodul um unbekannte Nachrichten debuggen und analysieren zu koennen. + Das Modul legt keinerlei Geraete oder aehnliches an.

        @@ -364,10 +434,10 @@ SIGNALduino_un_binflip($) define <name> SIGNALduino_un <code>

        - Es ist möglich ein Gerät manuell zu definieren, aber damit passiert überhaupt nichts. - Autocreate wird auch keinerlei Geräte aus diesem Modul anlegen. + Es ist moeglich ein Geraet manuell zu definieren, aber damit passiert ueberhaupt nichts. + Autocreate wird auch keinerlei Geraete aus diesem Modul anlegen.
        - Die einzgeste Funktion dieses Modules ist, ab Verbose 4 Logmeldungen über die Empfangene Nachricht ins Log zu schreiben. Dabei kann man sich leider nicht darauf verlassen, dass die Nachricht korrekt dekodiert wurde.
        + Die einzgeste Funktion dieses Modules ist, ab Verbose 4 Logmeldungen ueber die Empfangene Nachricht ins Log zu schreiben. Dabei kann man sich leider nicht darauf verlassen, dass die Nachricht korrekt dekodiert wurde.
        Dieses Modul wird alle Nachrichten verarbeiten, welche von anderen Modulen nicht verarbeitet wurden. Set
          N/A

        diff --git a/fhem/FHEM/firmware/SIGNALduino_nano328.hex b/fhem/FHEM/firmware/SIGNALduino_nano328.hex index 7cc2cfe53..bbad78fb9 100644 --- a/fhem/FHEM/firmware/SIGNALduino_nano328.hex +++ b/fhem/FHEM/firmware/SIGNALduino_nano328.hex @@ -1,1213 +1,1165 @@ -:100000000C946B000C94F51D0C94221E0C94930020 -:100010000C9493000C9493000C9493000C94930014 -:100020000C9493000C9493000C9493000C94930004 -:100030000C9493000C94F2120C9493000C94930083 -:100040000C944F1E0C9493000C94A7190C94F51962 -:100050000C9493000C9493000C9493000C949300D4 -:100060000C9493000C94930020557365206F6E657B -:10007000206F66200000000000240027002A0000F6 -:10008000000000250028002B0000000000230026AF -:10009000002900040404040404040402020202020D -:1000A000020303030303030102040810204080013C -:1000B00002040810200102040810200000000700BC -:1000C0000201000003040600000000000000000020 -:1000D0005613611B4F1311241FBECFEFD8E0DEBFB4 -:1000E000CDBF12E0A0E0B1E0E6E5FAE402C0059081 -:1000F0000D92A835B107D9F715E0A8E5B2E001C027 -:100100001D92A835B107E1F710E0C4EDD0E004C0BE -:100110002297FE010E94E324C03DD107C9F70E9447 -:10012000B71B0C941E250C9400000F931F93CF93C4 -:10013000DF93689F8001699F100D789F100D112437 -:10014000C8010E94B100EC01009729F060E070E066 -:10015000A8010E94ED02CE01DF91CF911F910F9176 -:100160000895CF93DF93BC018230910510F462E0D3 -:1001700070E0A0915605B0915705ED01E0E0F0E088 -:1001800040E050E021C0888199818617970769F483 -:100190008A819B81309719F09383828304C0909366 -:1001A000570580935605FE0134C06817790738F467 -:1001B0004115510519F08417950708F4AC01FE01AB -:1001C0008A819B819C01E9012097E9F6411551053F -:1001D000A9F1CA01861B970B049708F4BA01E0E065 -:1001E000F0E02AC08D919C91119784179507F9F43E -:1001F0006417750781F412968D919C91139730972F -:1002000019F09383828304C0909357058093560519 -:10021000FD0132964CC0CA01861B970BFD01E80F09 -:10022000F91F6193719302978D939C9340C0FD01D8 -:10023000828193819C01D9011097A1F68091540588 -:1002400090915505892B41F48091140290911502EB -:1002500090935505809354054091160250911702D2 -:100260004115510541F44DB75EB78091120290914E -:100270001302481B590B2091540530915505CA01B2 -:10028000821B930B8617970780F0AB014E5F5F4F81 -:100290008417950750F0420F531F50935505409314 -:1002A0005405F9016193719302C0E0E0F0E0CF01E1 -:1002B000DF91CF910895CF93DF93009709F450C059 -:1002C000EC0122971B821A82A0915605B091570526 -:1002D000109709F140E050E0AC17BD0708F1BB836F -:1002E000AA83FE0121913191E20FF31FAE17BF07E0 -:1002F00079F48D919C911197280F391F2E5F3F4FF4 -:100300003983288312968D919C9113979B838A83BE -:100310004115510571F4D0935705C093560520C07F -:1003200012968D919C911397AD01009711F0DC010D -:10033000D3CFFA01D383C28321913191E20FF31F0E -:10034000CE17DF0769F488819981280F391F2E5F46 -:100350003F4FFA01318320838A819B81938382837B -:10036000DF91CF910895A0E0B0E0E9EBF1E00C94CB -:10037000E9246C01009729F4CB010E94B1006C01C3 -:10038000C1C08EEF882E8FEF982E8C0C9D1C86019D -:10039000060F171F0815190508F4B2C0F401A08153 -:1003A000B181A617B707B8F0A530B10508F4AAC007 -:1003B000CD0104978617970708F4A4C01297A61BCF -:1003C000B70BF801A193B193D4016D937C93CF0146 -:1003D0000E945B0197C07B01EA1AFB0AEEEFFFEF78 -:1003E000EE0EFF1E36016A0E7B1EC0915605D0919F -:1003F000570544245524AA24BB244AC0C615D70552 -:10040000E1F5488159814E155F05B8F1CA0104979D -:100410008E159F05B0F41296A40FB51FF401B18399 -:10042000A0832A813B814114510431F0D2011396FB -:100430003C932E93129766C0309357052093560530 -:1004400061C08A819B81F80193838283425050402E -:100450004E195F09518340834114510431F0D20198 -:1004600013961C930E93129704C010935705009394 -:100470005605F4017183608345C088819981A8166F -:10048000B90608F45C012E018A819B819C01E90177 -:10049000209709F0B3CF80915405909155058615AA -:1004A0009705E9F4A616B706D0F42091160230910C -:1004B00017022115310541F42DB73EB78091120284 -:1004C00090911302281B390B02171307C8F41093DD -:1004D000550500935405D4016D937C9313C0CB0153 -:1004E0000E94B100EC01009759F0F4014081518164 -:1004F000B6010E94D202C6010E945B016E0102C0D9 -:10050000CC24DD24C601CDB7DEB7E0E10C9405258F -:10051000FC0188279927E89421912032E9F32930BA -:1005200010F02E30C8F32B3241F02D3239F468949C -:1005300004C00E949703820F911D219120532A30FD -:10054000C0F31EF4909581959F4F08951F93FC0171 -:1005500099278827BC01E89411911032E9F31930EA -:1005600010F01E30C8F31B3251F01D3249F468946C -:1005700006C00E948203610F711D811D911D1191A2 -:1005800010531A30B0F33EF49095809570956195B4 -:100590007F4F8F4F9F4F1F91089548E552E00E9473 -:1005A0002F030895FB01DC0102C001900D92415020 -:1005B0005040D8F708956817790768F4FB01DC010B -:1005C000E40FF51FA40FB51F02C002900E92415018 -:1005D0005040D8F708950C94D202DC0101C06D930D -:1005E00041505040E0F70895FC018191861721F0B9 -:1005F0008823D9F7992708953197CF010895FB01F2 -:10060000DC0101900D920020E1F70895FB01DC016F -:100610004150504048F001900D920020C9F701C0B0 -:100620001D9241505040E0F70895FB015191552330 -:10063000A9F0BF01DC014D9145174111E1F759F4D3 -:10064000CD010190002049F04D9140154111C9F3B1 -:10065000FB014111EFCF81E090E0019708950097F1 -:1006600031F4DA018D919C91009709F40EC0DC0100 -:10067000FB013D912191222319F03217C9F3FACFE2 -:10068000332331F4DA011D921C92882799270895AB -:100690001197AF93BF93FB013D912191321771F4F4 -:1006A000332321F488279927119702C01E921196AF -:1006B000FA01A193B0839F918F910895222369F746 -:1006C000EACFFB019F01E8944230C4F04532B4F414 -:1006D0004A3029F497FB1EF4909581959F4F642F23 -:1006E00077270E949824805D8A330CF0895D81937E -:1006F000CB010097A1F716F45DE251931082C90176 -:100700000C94CC05592F482F372F262F660F771FB3 -:10071000881F991F660F771F881F991F620F731F0D -:10072000841F951F660F771F881F991F08957AE011 -:10073000979F902D879F802D910D11240895FB0187 -:100740009F01423074F0453264F4642F77270E9491 -:100750009824805D8A330CF0895D8193CB010097EA -:10076000A1F71082C9010C94CC05AEE0B0E0EBEB30 -:10077000F3E00C94F5240D891E8986E08C831A839E -:1007800009838FEF9FE79E838D839E01275E3F4FF6 -:10079000CE0101966F89788DA9010E94D9032F811E -:1007A0003885020F131FF80110822E96E4E00C9496 -:1007B0001125ABE0B0E0EFEDF3E00C94E7243C0151 -:1007C0002B015A01FC0117821682838181FD03C02F -:1007D0006FEF7FEFC6C19AE0892E1E010894211C9D -:1007E000311CF3012381F20123FD859123FF8191C7 -:1007F0002F01882309F4B2C1853239F423FD859194 -:1008000023FF81912F01853229F490E0B3010E94EA -:10081000DC05E7CF982FFF24EE249924FFE1FF1594 -:10082000D0F09B3269F09C3228F4903259F0933228 -:1008300091F40EC09D3249F0903369F441E024C038 -:1008400052E0F52A84E0F82A28C098E0F92A25C069 -:10085000E0E1FE2A22C0F7FC29C0892F80538A30AC -:1008600070F4F6FE05C0989C902C1124980E15C0CB -:10087000E89CE02C1124E80EF0E2FF2A0EC09E3224 -:1008800029F4F6FC6BC140E4F42A07C09C3619F445 -:1008900050E8F52A02C0983649F4F20123FD9591FB -:1008A00023FF91912F01992309F0B8CF892F855407 -:1008B000833018F08052833038F444E050E0A40EC6 -:1008C000B51E5FE359830FC0933631F0933779F04B -:1008D000933509F056C020C0F5018081898342E03C -:1008E00050E0A40EB51E610101E010E012C0F50158 -:1008F000C080D180F6FC03C06FEF7FEF02C0692D8E -:1009000070E042E050E0A40EB51EC6010E94C10591 -:100910008C015FE7F52214C0F501C080D180F6FCA0 -:1009200003C06FEF7FEF02C0692D70E042E050E03E -:10093000A40EB51EC6010E94B6058C0150E8F52A2A -:10094000F3FE07C01AC080E290E0B3010E94DC050C -:10095000EA948E2D90E008171907A8F30EC0F6014F -:10096000F7FC8591F7FE81916F0190E0B3010E9441 -:10097000DC05E110EA94015010400115110579F7EA -:10098000EAC0943611F0993669F5F7FE08C0F50112 -:10099000208131814281538184E090E00AC0F501D9 -:1009A000808191819C01442737FD4095542F82E03E -:1009B00090E0A80EB91E9FE6F92257FF09C0509596 -:1009C0004095309521953F4F4F4F5F4FE0E8FE2A0D -:1009D000CA01B901A1012AE030E00E940806D82E20 -:1009E000D21840C0953729F41F2D1F7E2AE030E031 -:1009F0001DC01F2D197F9F3661F0903720F4983568 -:100A000009F0ACC00FC0903739F0983709F0A6C094 -:100A100004C028E030E00AC0106114FD146020E139 -:100A200030E004C014FD166020E132E017FF08C07A -:100A3000F501608171818281938144E050E008C0BA -:100A4000F50180819181BC0180E090E042E050E0BE -:100A5000A40EB51EA1010E940806D82ED2188FE759 -:100A6000F82EF122F6FE0BC05EEFF522D91438F411 -:100A7000F4FE07C0F2FC05C08FEEF82202C01D2D67 -:100A800001C0192DF4FE0DC0FE01ED0DF11D808198 -:100A9000803319F499EEF92208C01F5FF2FE05C0F9 -:100AA00003C08F2D867809F01F5F0F2DF3FC14C053 -:100AB000F0FE0FC01E1510F09D2C0BC09D2C9E0C3F -:100AC000911A1E2D06C080E290E0B3010E94DC0561 -:100AD0001F5F1E15C0F304C01E1510F4E11A01C0FB -:100AE000EE2404FF0FC080E390E0B3010E94DC0518 -:100AF00002FF1DC001FD03C088E790E00EC088E53D -:100B000090E00BC0802F867891F001FF02C08BE24D -:100B100001C080E2F7FC8DE290E0B3010E94DC05A9 -:100B200006C080E390E0B3010E94DC059A94D914DA -:100B3000C0F3DA94F101ED0DF11D808190E0B30175 -:100B40000E94DC05DD20A9F706C080E290E0B30139 -:100B50000E94DC05EA94EE20C1F743CEF3016681E2 -:100B60007781CB012B96E2E10C940325FC010590E3 -:100B7000615070400110D8F7809590958E0F9F1F9F -:100B80000895FC016150704001900110D8F78095E4 -:100B900090958E0F9F1F0895DC01FC01672F7191C6 -:100BA0007723E1F7329704C07C916D937083629153 -:100BB000AE17BF07C8F308950F931F93CF93DF932A -:100BC0008C01EB018B8181FF1BC082FF0DC02E8148 -:100BD0003F818C819D812817390764F4E881F98170 -:100BE0000193F983E88306C0E885F985802F09958C -:100BF000892B31F48E819F8101969F838E8302C061 -:100C00000FEF1FEFC801DF91CF911F910F91089552 -:100C1000FA01AA27283051F1203181F1E8946F932D -:100C20006E7F6E5F7F4F8F4F9F4FAF4FB1E03ED0D3 -:100C3000B4E03CD0670F781F891F9A1FA11D680F71 -:100C4000791F8A1F911DA11D6A0F711D811D911DA4 -:100C5000A11D20D009F468943F912AE0269F112419 -:100C60003019305D3193DEF6CF010895462F47707D -:100C7000405D4193B3E00FD0C9F7F6CF462F4F70D8 -:100C8000405D4A3318F0495D31FD4052419302D036 -:100C9000A9F7EACFB4E0A6959795879577956795DC -:100CA000BA95C9F700976105710508959B01AC01DC -:100CB0000A2E06945795479537952795BA95C9F703 -:100CC000620F731F841F951FA01D0895DC011296EB -:100CD0002C91129717968C9117972817D8F5ED91AC -:100CE000FC911197E20FF11D862F992787FD9095B2 -:100CF00016960C90169702C0880F991F0A94E2F777 -:100D00002081282B208313968C9113978F5F139645 -:100D10008C93139716962C91169714963C911497D2 -:100D2000822F90E0831B910997FD04C0231B169628 -:100D30002C93089587E016968C93169712968C91B3 -:100D400012978F5F12968C931297ED91FC91E80F9A -:100D5000F11D10820895FC018781681710F08FEF54 -:100D600008950190F081E02DE60FF11D8081089536 -:100D7000DC0190E007C0ED91FC911197E90FF11DA6 -:100D800010829F5F17968C9117979817A0F3129671 -:100D90001C92129713961C92139787E016968C93C9 -:100DA0000895FC01808191810E945B010895CF9399 -:100DB000DF93EC01842F6C831D824F8390E061E010 -:100DC00070E00E94950088839983CE010E94B80646 -:100DD00047E0E7E0F0E061E070E00BC0CB0102C06B -:100DE000880F991F2A95E2F79C018D81822B8D83B4 -:100DF0004150242F30E08C81DF01A81BB109A217DC -:100E0000B30764F3DF91CF910895FC0112A2A1858D -:100E1000B2850384F485E02D208131818D919C91F0 -:100E20001197918380832D933C93DB018D919C914D -:100E3000918380830895BF92CF92DF92EF92FF92C9 -:100E40000F931F93CF93DF93EC018B01B9A040E088 -:100E500021E0C22ED12C2DC0F901EE0FFF1FE00FB3 -:100E6000F11FD901AE0DBF1DAC19BD09AA0FBB1FE3 -:100E7000AC0FBD1F0190F081E02D53968D919C9198 -:100E80005497E81BF90BF7FF03C0F095E195FF4F6E -:100E90008D859E858E179F075CF02617370711F406 -:100EA000842F11C05F5F252F30E062177307A4F60F -:100EB0004F5F4B1538F4F8016081718151E0E42EE9 -:100EC000FF24F1CF8FEFDF91CF911F910F91FF9012 -:100ED000EF90DF90CF90BF90089508950895089502 -:100EE000FC018381948108952F923F924F925F92EB -:100EF0006F927F929F92AF92BF92CF92DF92EF92CA -:100F0000FF920F931F93DF93CF9300D000D0CDB704 -:100F1000DEB79C838B83DC0113968D919C91149793 -:100F2000019709F0A0C091962C9191972150822FA2 -:100F3000992787FD9095885E9E4F5D01A80EB91E8A -:100F4000885191408C01000F111F0D5E1F4F0A0F39 -:100F50001B1F922ECC24DD249A838983F5E12F2E4A -:100F6000F1E03F2E2A0E3B1EE5E24E2E512C4A0E9A -:100F70005B1E77C069807A806C0C7D1CF801208133 -:100F80003181121613060CF463C0EE24FF24E21A1A -:100F9000F30AF9E6EF16F2E4FF06ACF0AB81BC8190 -:100FA0001296EC911297FF27E7FDF095EE0FFF1FC9 -:100FB000EA0FFB1F63897489C7010E94AC24683261 -:100FC00071050CF045C0EB81FC818281482F5527CB -:100FD00047FD5095FA01EE0FFF1F8B819C81E80FB2 -:100FE000F91F838994892827392737FF31C033E0D7 -:100FF000880F991F3A95E1F7E816F9064CF1D501EB -:101000008C91873028F5F1016081F20130E00CC04D -:10101000818190E08615970529F4808190E08417FE -:10102000950721F03F5F3196361790F3361781F020 -:10103000AB81BC8193969C92939782E090E014964A -:101040009C938E931397A25EBE4F3C9381E010C099 -:101050009A940894A108B1080894C108D1080250D4 -:10106000104097FE87CF8FEFEB81FC8183A380E058 -:101070000F900F900F900F90CF91DF911F910F91D4 -:10108000FF90EF90DF90CF90BF90AF909F907F90B8 -:101090006F905F904F903F902F9008956F927F9246 -:1010A0008F929F92AF92BF92CF92DF92EF92FF9278 -:1010B0000F931F93CF93DF93EC018FEF8A8389A067 -:1010C000AA24AA94BA2C992475E1672E71E0772E90 -:1010D0006C0E7D1E74C08FEFA8168FEFB80689F5D1 -:1010E000C92CDD24F601EE0FFF1FEC0FFD1F8389D5 -:1010F000948997FD26C0FE01EC0DFD1DE85EFE4FB4 -:10110000608170E0882777FD8095982F0E94622388 -:101110007B018C01F301608170E0882777FD809569 -:10112000982F0E9462232BE734E14EE25EE30E9497 -:1011300016249B01AC01C801B7010E9412241816A5 -:10114000E4F1C92CDD24F601EE0FFF1FEC0FFD1FAB -:101150002389348937FD30C0F501EE0FFF1FEC0FF6 -:10116000FD1F838994892817390734F5FE01EC0D9A -:10117000FD1DE85EFE4F608170E0882777FD809559 -:10118000982F0E9462237B018C01F301608170E043 -:10119000882777FD8095982F0E9462232BE734E102 -:1011A0004EE25EE30E9416249B01AC01C801B70128 -:1011B0000E94122418160CF065019394560198149D -:1011C00008F489CFFFEFAF16FFEFBF0611F480E000 -:1011D00006C0AA8281E090E09C838B8381E0DF914E -:1011E000CF911F910F91FF90EF90DF90CF90BF9024 -:1011F000AF909F908F907F906F900895DC01A85ED4 -:10120000BE4F1D921D921D921D921D921C92AD51BA -:10121000B140442399F4AB5EBE4F4C91A551B1400F -:101220000DC0FD01E60FF11D85A1FD01E80FF11DC7 -:10123000E85EFE4F80818F5F80836F5F641788F365 -:1012400008952F923F924F925F926F927F928F926A -:101250009F92AF92BF92CF92DF92EF92FF920F9345 -:101260001F93DF93CF9300D00F92CDB7DEB76C0101 -:1012700060E040E00E94FE08442405E1202E01E0E9 -:10128000302E2C0C3D1CF7C0242D2F5F2983522EAD -:10129000842D90E05C01AA0CBB1CAC0CBD1C43E18E -:1012A00050E0A40EB51E3601680E791E88E191E06B -:1012B000680E791ED9C0852C9924F401EE0FFF1F0A -:1012C000EC0DFD1DA389B489BB83AA839D01B7FFE3 -:1012D00003C0309521953F4FB901882777FD809550 -:1012E000982F0E946223F60127853089418952890F -:1012F0000E9416247B018C01D5018D919C91EA817D -:10130000FB81E81BF90BFB83EA83F7FF05C0F0952F -:10131000E195FF4FFB83EA83C801B70120E030E08D -:1013200040E05FE30E9416249B01AC01C801B701B5 -:101330000E94CB220E942F232A813B8162177307D0 -:101340000CF491C090E008C0F601E90FF11D85A1F1 -:10135000851509F445A29F5FD1018C919817A0F3E0 -:10136000F3018081E82EFF24F601E80DF91DE85E07 -:10137000FE4F8081282F30E0A9014E0D5F1D5B8359 -:101380004A83F401EE0FFF1F452B29F5EC0DFD1DDF -:1013900083899489DC012A9FC0012B9F900D3A9F7D -:1013A000900D112460E070E00E94AC249B01F501D7 -:1013B00080819181AC01E49EC001E59E900DF49E78 -:1013C000900D112460E070E00E94AC24260F371FBE -:1013D0003183208310C0EC0DFD1D83899489D501D4 -:1013E0002D913C91820F931F62E070E00E94AC242B -:1013F000F50171836083F601E80DF91DE85EFE4F8B -:10140000208130E08401000F111F0C0D1D1DD8013B -:1014100053968D919C915497FC012E9FC0012F9F54 -:10142000900D3E9F900D11246A817B810E94AC2417 -:10143000FB01D3018C9190E0D5012D913C91AC0141 -:10144000429FC001439F900D529F900D11246A81CD -:101450007B810E94AC24E60FF71FD501ED93FC932E -:10146000F801148A138A5394D60191968C915816D8 -:1014700008F421CF4980F60181A1481608F404CF71 -:101480000F900F900F90CF91DF911F910F91FF90D0 -:10149000EF90DF90CF90BF90AF909F908F907F9014 -:1014A0006F905F904F903F902F900895CF93DF9370 -:1014B000EC010E942109CE0160E040E00E94FE089C -:1014C000CB5EDE4F8881C551D140883230F0CE01ED -:1014D0000E944E08CE010E947407DF91CF910895BB -:1014E000DC01ED91FC910190F081E02D09950895CA -:1014F0008F929F92AF92BF92CF92DF92EF92FF9224 -:101500000F931F93CF93DF936C01DC011296ED9143 -:10151000FC91139781A1843008F4E2C0EB5EFE4F8A -:10152000608170E0882777FD8095982F0E94622364 -:1015300029E23CE54FE05EE30E9416240E9434233A -:10154000762FAA24AA94BA2C8824992460E030E04B -:1015500079C0A32FB0E0FE01EA0FFB1FE85EFE4F4B -:10156000E080E71608F46DC0AA0FBB1FAC0FBD1FCB -:1015700053964D915C91549714161506A4F5F601F7 -:1015800025812F3F69F0822F992787FD9095880F3D -:10159000991FC80FD91F8B899C89841795070CF454 -:1015A000232FD60115962C93159717962C911797E4 -:1015B0002F3F89F01296ED91FC911397822F992776 -:1015C00087FD9095880F991FE80FF91F83899489EB -:1015D000481759070CF4232F6E0D8394A40EB51EE3 -:1015E000F60127832EC0D60114962C912F3F69F067 -:1015F000822F992787FD9095880F991FC80FD91FB3 -:101600008B899C89481759070CF4232FF6012483F2 -:1016100026812F3F81F00280F381E02D822F9927D0 -:1016200087FD9095880F991FE80FF91F838994898A -:10163000841795070CF4232F6E199394D6011696F0 -:101640002C933F5FF601C281D38189A1381708F43A -:1016500080CF70E0882777FD8095982F0E946223C5 -:101660007B018C01CB5EDE4F688170E0882777FDBF -:101670008095982F0E9462232AE037ED43EA5CE3CD -:101680000E9416249B01AC01C801B7010E941224DC -:10169000181634F1981421F5C50163E070E00E943A -:1016A000AC24D60119967C936E93189714969C914E -:1016B00014979F3FA9F016968C9116978F3F81F053 -:1016C000981771F015962C9115972F3F49F01796A2 -:1016D0009C919F3F29F080E0291719F081E001C01B -:1016E00080E0DF91CF911F910F91FF90EF90DF90FD -:1016F000CF90BF90AF909F908F9008958F929F92C0 -:10170000AF92BF92CF92DF92EF92FF921F93DF933F -:10171000CF9300D00F92CDB7DEB76C017B01DE0115 -:101720001196E9E0F1E083E001900D928150E1F73C -:10173000D601ED91FC91628183E0689FB001112494 -:10174000C7010E94C020E114F10499F110E05E018C -:101750000894A11CB11C74E0872E71E0972E23C061 -:10176000CF01612F0E94AB0600D000D000D0EDB7B2 -:10177000FEB73196ADB7BEB71296BC92AE92119736 -:1017800093828282848315820E94B5038DB79EB7AF -:1017900006960FB6F8949EBF0FBE8DBFC701B50168 -:1017A0000E9479211F5FD601ED91FC918281811702 -:1017B000B8F60F900F900F90CF91DF911F91FF908F -:1017C000EF90DF90CF90BF90AF909F908F90089553 -:1017D000FC018FEF848385838683878384E18287FE -:1017E000808191810E94B80608950F931F938C0108 -:1017F000FC0111A2148213828FEF8283878D90A146 -:101800000E94B806F80116861586148A138A168A6D -:10181000158A108E178A128E118E148E138E168EC4 -:10182000158E1F910F910895CF93DF93EC010E94C5 -:10183000F50BCB5EDE4F1882C551D14019A21CA218 -:101840001C821B828FEF8BA38A83FE01DE01A85EC0 -:10185000BE4F80E0148A138A1D928F5F32968630C5 -:10186000C9F71AA286E990E09E878D878AE999E9EF -:10187000A9E9BEE38F87988BA98BBA8BC25EDE4F36 -:101880001882289719921882DF91CF910895EF92CC -:10189000FF920F931F938C01FC017383628388E096 -:1018A00090E00E94D71BF82EE92E61E04EE10E94E5 -:1018B000D706F801F082E182C8010E94E80B1F916F -:1018C0000F91FF90EF900895EF92FF920F931F9367 -:1018D0008C0187E392E0F8019183808388E090E0B7 -:1018E0000E94D71BF82EE92E62E041E00E94D70645 -:1018F000F801F78EE0A21086178216821582C801C1 -:10190000059692878187C80107969487838712A2DC -:10191000C8010E94F50B1F910F91FF90EF90089561 -:101920000F931F938C010E94640C8BE292E0F801EC -:10193000918380831682158210861782C8010596CE -:1019400092878187C8010796948783878FEF83A347 -:10195000C8010E94140C1F910F910895AF92BF927D -:10196000CF92DF92EF92FF920F931F938C010E9410 -:10197000900C8FE192E0F8019183808360E7A62EBE -:1019800061E0B62EA00EB11E50E0E52E51E0F52E1E -:10199000C501B7010E94C42147E7C42E41E0D42EFF -:1019A000C00ED11EC601B7010E94C421C50166E464 -:1019B00070E00E94C020C60164E170E00E94C02077 -:1019C00001591E4FF80110821F910F91FF90EF9067 -:1019D000DF90CF90BF90AF9008951F93CF93DF9388 -:1019E000EC0110E040E096C0442309F5FD01E10F51 -:1019F000F11D85A1282F30E08C81992787FD9095D6 -:101A00002817390789F08D81992787FD9095281728 -:101A1000390709F0BBC008C08F81992787FD9095D1 -:101A20002817390709F075C0A25EBE4F1C93AA8122 -:101A3000BB81412F50E0FD01E40FF51F85A1282F48 -:101A400030E08C81992787FD90952817390741F060 -:101A50008D81992787FD90952817390709F09FC038 -:101A60004881598160E0220F331FA20FB31F5396A4 -:101A70008D919C91549797FF61E0CA010E94660680 -:101A80003FC08F81992787FD90952817390709F066 -:101A900090C0AB5EBE4F8C91A551B14090E00197D4 -:101AA000481759070CF085C0FD01E40FF51F86A10A -:101AB000282F30E02617370741F08F81992787FDBF -:101AC00090952817390709F074C04881598160E062 -:101AD000220F331FA20FB31F53968D919C915497E1 -:101AE00097FF61E0CA010E9466061F5F09C08881F6 -:101AF00099810E94B806EA81FB81E25EFE4F108365 -:101B000041E007C020E0E881F98183818317C8F1B3 -:101B100037C01F5FAA81BB81FD01EB5EFE4F808154 -:101B2000181708F461CF181721F5A25EBE4F8C91EB -:101B30008230F8F0181B1083EA81FB81E25EFE4FD1 -:101B40006081EE51F14070E06B5D7F4F6E0F7F1F43 -:101B5000EB5EFE4F408150E04F5F5F4FCF01805FF3 -:101B600090400E94DB02EA81FB81EA5EFE4F81E049 -:101B7000808320E0E881F98193818A85981708F0B5 -:101B800021E0822FDF91CF911F9108958E819927B7 -:101B900087FD90952817390709F03ECF45CF8E81F4 -:101BA000682F772767FD70952617370709F069CFEB -:101BB00070CF3A85AB5EBE4F8C9190E0831B91094C -:101BC000481759070CF493CF9DCFEF92FF920F93D4 -:101BD0001F93DF93CF9300D000D0CDB7DEB78C0139 -:101BE0000B5E1E4FD8018C910551114090E08F3E45 -:101BF0009105ACF0095E1E4F81E0F801808307512A -:101C00001140D801ED91FC910680F781E02DC801CB -:101C100009950A5E1E4FF801108206511140D80145 -:101C200094961C9294971996ED91FC911A972081A5 -:101C300031811B96ED91FC911C970190F081E02D74 -:101C40000B5E1E4FD8014C910551114090915A02E4 -:101C5000D80191968C919197891710F491969C9345 -:101C60000B5E1E4FD8018C91055111408823B1F0B5 -:101C7000EE2480E090E0E227F327F7FF02C081E046 -:101C800090E020E030E04F3E11F021E030E0822390 -:101C90009323892B41F0EE24E39405C0F80111A2AF -:101CA00010925A02EE2481E090E09A8389831C828C -:101CB0001B82D8011996ED91FC911A978081918130 -:101CC0009C838B83C801BE016F5F7F4F0E941B07FF -:101CD000F82E87FD2EC00B5E1E4FF8018081055146 -:101CE0001140F801E80FF11DF5A2823030F084A117 -:101CF0008F1519F4C8010E94140CEF2DFF27E7FD82 -:101D0000F095EE0FFF1FE00FF11F8B819C8123895F -:101D10003489820F931F62E070E00E94AC24748BC0 -:101D2000638BF801EB5EFE4F80818F5F8083FF2421 -:101D300019C0C80160E040E00E94FE08D8019196F9 -:101D40008C91863069F480915A02F801E80FF11DF8 -:101D5000E85EFE4F8081823018F0EE24FF2404C03C -:101D6000FF24F394EE2009F50B5E1E4FF8018081ED -:101D700005511140883278F081E0D80192968C9319 -:101D80009297ED91FC910680F781E02DC8010995AD -:101D900010925A026FC0EE2041F4C8010E94140C48 -:101DA000F80112A210925A020DC00B5E1E4FD8010C -:101DB0008C9105511140883228F083E090E0F801C1 -:101DC00094838383FF2009F455C00B5E1E4FD80116 -:101DD0004C910551114050915A02842F90E0849605 -:101DE000F801E80FF91F20E030E0DC0195971BC0F7 -:101DF00080812F5F3F4F31978517A9F46F5F7F4F29 -:101E0000461B0B5E1E4FF8014083055111406B5D70 -:101E10007F4F600F711F50E04F5F5F4FC801859685 -:101E20000E94DB0207C0BD01621B730B8FEF6F3F87 -:101E30007807F1F620915A02E22FF0E0EE0FFF1F33 -:101E4000E00FF11F8B819C81948B838BD801AB5E5B -:101E5000BE4F8C91F801E80FF11D25A38F5F8C9385 -:101E60002F5F20935A02263029F410925A02D8018B -:101E700091962C930F900F900F900F90CF91DF9130 -:101E80001F910F91FF90EF9008950F931F93CF93A1 -:101E9000DF938C01DC0192961C92929719960D901B -:101EA000BC91A02DEC01EB85FC85208131818D91C9 -:101EB0009C911197918380832D933C93DB018D91AD -:101EC0009C9191838083C8010E94E50D8AA1DF91D6 -:101ED000CF911F910F9108950F931F93CF93DF938D -:101EE0008C01EB01CB0167E070E00E94C0202097DD -:101EF00079F0CE016EE071E00E947921F8016085F1 -:101F00007185CE010E940921CE016BE30E946621FA -:101F1000DF91CF911F910F9108950F931F93CF934E -:101F2000DF938C01EB01CB0160E270E00E94C020E6 -:101F3000209709F470C0CE0161E171E00E9479211F -:101F4000D8011296ED91FC91139714968C919927D4 -:101F500087FD9095880F991FE80FF91F6389748991 -:101F6000CE010E940921CE016BE30E946621CE01C1 -:101F700065E171E00E947921D8011296ED91FC9102 -:101F8000139715968C91992787FD9095880F991F27 -:101F9000E80FF91F63897489CE010E940921CE01DF -:101FA0006BE30E946621CE0169E171E00E94792114 -:101FB000D8011296ED91FC91139716968C91992762 -:101FC00087FD9095880F991FE80FF91F6389748921 -:101FD000CE010E940921CE016BE30E946621CE0151 -:101FE0006DE171E00E947921D8011296ED91FC918A -:101FF000139717968C91992787FD9095880F991FB5 -:10200000E80FF91F63897489CE010E940921CE016E -:102010006BE30E946621DF91CF911F910F9108958C -:10202000CF93DF93FC01C081D181209731F0CE01A5 -:102030000E94D106CE010E94D41BDF91CF9108955A -:10204000CF92DF92EF92FF920F931F937A01690173 -:1020500005E215E0C8010E94781DC801B7010E9481 -:10206000781DC801B6010E94781D1F910F91FF9045 -:10207000EF90DF90CF900895BF92CF92DF92EF92D2 -:10208000FF920F931F93CF93DF936C01F62EB42E24 -:10209000E80185E295E0B9010E94781DEE2417C0A1 -:1020A00086010F0D111D85E295E0F80165A14AE05A -:1020B00050E00E94DE1CF80185A1E82688E09CE83B -:1020C000E0FAE6940EF4E9268A95D1F7F394BF146A -:1020D00038F785E295E0BE010E94781D8E2DDF91D4 -:1020E000CF911F910F91FF90EF90DF90CF90BF9015 -:1020F00008956F927F928F929F92AF92BF92CF92EC -:10210000DF92EF92FF920F931F93DF93CF93CDB7A0 -:10211000DEB762970FB6F894DEBF0FBECDBF7C016D -:102120008C010B5E1E4FF8018081883208F445C295 -:102130007E2C6F2CC7010E94560AF701838194817F -:102140008230910509F039C12EE131E0E20EF31E33 -:10215000F701608122EE3EEFE20EF31E462F4E5F46 -:10216000F7018281C82EDD24C7FCD094D801F70185 -:10217000E40FF11D85A190E08C159D0569F426A161 -:1021800030E0F70183A1992787FD9095281739073B -:1021900019F4415011E005C04E5F8C91481738F397 -:1021A00010E025E131E0E20EF31EF70180812BEE15 -:1021B0003EEFE20EF31E842E841708F4882E872D3E -:1021C000962D482D0E94FE08112389F0882D90E05D -:1021D0004EE151E0E40EF51EF701208142EE5EEF84 -:1021E000E40EF51E821B910988974CF4E1C087012B -:1021F0000B5E1E4FF8018081803F08F0A5C040E7CC -:10220000A42E41E0B42EAE0CBF1CC50160E071E00D -:102210000E94DE2137E7C32E31E0D32ECE0CDF1C27 -:10222000C60160E071E00E94DE21C50162E00E940B -:102230006621C50161E271E00E947921C5016BE36D -:102240000E946621992426C0092D10E0F701E00FB5 -:10225000F11FE85EFE4F80818823D9F0C50160E55B -:102260000E946621C501692D0E943A21C50164E2E0 -:1022700071E00E947921000F111F0E0D1F1DF80142 -:1022800063897489C5010E940921C5016BE30E941D -:1022900066219394F70181A19816B0F2C50166E218 -:1022A00071E00E947921C6016BE30E946621C6019C -:1022B00069E271E00E947921F7016281772767FD69 -:1022C0007095C6010E940921C6016BE30E94662138 -:1022D000C6016DE271E00E947921F70163A17727C1 -:1022E00067FD7095C6010E940921C6016BE30E943B -:1022F000662127E131E0E20EF31EF701808129EE2D -:102300003EEFE20EF31E882349F0C60161E371E05F -:102310000E947921C6016BE30E946621C60163E039 -:102320000E946621C6016AE00E946621F701E25E12 -:10233000FE4FC7016081482D950186010E943C1027 -:1023400081E0F70182A321C19EE1C92E91E0D92E3F -:10235000CE0CDF1CF6018081823050F1882D90E098 -:102360008F3E91052CF185E295E063E371E00E94D8 -:10237000621DF8014081F6016081461BF80140832F -:1023800070E06B5D7F4F6E0D7F1D50E04F5F5F4FC4 -:10239000C70185960E94DB0226E131E0E20EF31EC2 -:1023A00081E0F70180832AEE3EEFE20EF31EEDC0DE -:1023B000872D962D0E94140CE8C0019709F0E3C008 -:1023C000F8018081883208F4DEC080E7A82E81E021 -:1023D000B82EAE0CBF1CC50160E071E00E94DE218A -:1023E00007E7C02E01E0D02ECE0CDF1CC60160E056 -:1023F00071E00E94DE21C50162E00E94662118E0C2 -:10240000812E912C8C0E9D1EC401B7010E94470C99 -:10241000C4010E94E80BC4010E94780A882309F4D1 -:10242000C1C0C4010E94ED0C882309F4BBC08E0119 -:102430000F5F1F4FC80160E071E00E94C421C80116 -:1024400066E271E00E94DE21C401B8010E947E0BA9 -:10245000C50168E371E00E947921C5016BE30E9428 -:102460006621C401B5010E948D0FC6016BE30E9475 -:102470006621C401B6010E946C0FC60163E00E9490 -:102480006621C6016AE00E946621C701B501A80164 -:1024900096010E942010C8010E94C4226CC0092D20 -:1024A00010E0F701E00FF11FE85EFE4F8081882306 -:1024B000E1F0C5016BE371E00E947921C501692D4E -:1024C0000E943A21C50164E271E00E947921000F67 -:1024D000111F0E0D1F1DF80163897489C5010E942B -:1024E0000921C5016BE30E9466219394F70181A144 -:1024F0009816A8F2C50166E271E00E947921C60132 -:102500006BE30E946621C60169E271E00E947921B5 -:10251000F7016281772767FD7095C6010E94092146 -:10252000C6016BE30E94662127E131E0E20EF31E53 -:10253000F701808129EE3EEFE20EF31E882349F079 -:10254000C60161E371E00E947921C6016BE30E943C -:102550006621C60163E00E946621C6016AE00E940E -:102560006621F701EB5EFE4FC70160E040819501F7 -:1025700086010E943C1081E0F70182A3CE010896FB -:102580000E94101002C0F70112A226E131E0E20E13 -:10259000F31EF7018081882381F4872D962D0E94F8 -:1025A000140C0BC0C5016DE371E00E947921C501D7 -:1025B0006BE30E946621992499CF62960FB6F89436 -:1025C000DEBF0FBECDBFCF91DF911F910F91FF9066 -:1025D000EF90DF90CF90BF90AF909F908F907F90C3 -:1025E0006F9008951F920F920FB60F9211242F93A0 -:1025F0003F934F935F936F937F938F939F93AF938B -:10260000BF93EF93FF93E0915E02F0915F02099513 -:10261000FF91EF91BF91AF919F918F917F916F91BA -:102620005F914F913F912F910F900FBE0F901F9090 -:10263000189581309105D9F46F5F7F4F79F580E56A -:102640008093600210926102809161028093630224 -:10265000809163028093620285E093E062EB71E017 -:102660000E94C4218DE093E00E94AE0C0895892B56 -:10267000A9F46F5F7F4F91F48FE192E090930E0386 -:1026800080930D0384E894E00E94C4228DE794E0D7 -:102690000E94C42285E093E00E94C422089580E055 -:1026A00090E06FEF7FEF0E941913089581E090E0B2 -:1026B0006FEF7FEF0E9419130895FF920F931F93FE -:1026C000CF93DF93F82E05E215E0C80163EB71E0CC -:1026D0000E94621DC8016F2D4AE050E00E94DE1C7E -:1026E000C8016EEB71E00E94621DCF2DD0E093E037 -:1026F000CC0FDD1F9A95E1F7FE01E15DFB4F608194 -:102700007181C8014AE050E00E94301DC80162ECAE -:1027100071E00E94621DC25DDB4F6881772767FD13 -:102720007095C8014AE050E00E94301DC80167EC76 -:1027300071E00E94651DDF91CF911F910F91FF9075 -:102740000895EF92FF920F931F93DF93CF93CDB72E -:10275000DEB762970FB6F894DEBF0FBECDBF8E0115 -:10276000075F1F4F85E093E0B8014AE050E023E0A7 -:1027700030E00E947920C80167EC71E00E94CD0230 -:102780000E948802F82EDE011196EFE3F2E088E065 -:1027900001900D928150E1F785E093E061E070E0F7 -:1027A0000E940520813421F000E010E0EE2425C0D5 -:1027B00080E090E067EC71E00E94CD020E94880208 -:1027C000E82E80E090E067EC71E00E94CD020E946C -:1027D00088028C01EB829D838C83EF2DF0E033E047 -:1027E000EE0FFF1F3A95E1F7E45DFB4FDE01119616 -:1027F00088E00D9001928150E1F785E093E061E07F -:1028000070E00E940520823599F4EB821D830C83D1 -:10281000EF2DF0E023E0EE0FFF1F2A95E1F7E45DD6 -:10282000FB4FDE01119688E00D9001928150E1F797 -:102830008F2D0E945D1380917C0490E001962F2DD6 -:1028400030E0821793071CF4F394F0927C046296B4 -:102850000FB6F894DEBF0FBECDBFCF91DF911F91B1 -:102860000F91FF90EF9008950E94971E9B01AC017D -:1028700080918B0490918C04A0918D04B0918E0472 -:10288000281739074A075B0748F480918F04909115 -:10289000900401969093900480938F0420938B046E -:1028A00030938C0440938D0450938E04CA01B90177 -:1028B00028EE33E040E050E00E94BF24C9010895B3 -:1028C0001F9311E017C085E295E00E94E81A682F77 -:1028D0008A3049F08B301CF4882329F007C08D30F2 -:1028E00011F0833219F410930C0304C085E093E0D7 -:1028F0000E94662185E295E00E94B71A892B19F79C -:102900001F910895609104038DE00E94A21F109210 -:10291000040308956F927F928F929F92AF92BF921D -:10292000DF92EF92FF920F931F93DF93CF93CDB778 -:10293000DEB72E970FB6F894DEBF0FBECDBF3C01B9 -:1029400085E093E064E40E94742062E0D62ED80E05 -:102950004E010894811C911C58E0A52EB12CAC0EA0 -:10296000BD1E3BC00894E11CF11CC50165E073E08D -:102970004D2D50E097010E945A22C5010E94272048 -:10298000162FC5010E94C422012F10E0000F111F55 -:10299000060D171D60E0F8018081918197FF61E0CD -:1029A0008BE00E94A21FF8018081918197FF03C0F4 -:1029B000909581959F4FFFE181349F075CF068EE11 -:1029C00073E00E94AC24882777FD8095982F0E94A1 -:1029D000CB1E02C00E94F11ED394ED2CFF24C40133 -:1029E00067EC71E00E94C42185E093E0B4014D2DB5 -:1029F00050E00E9438208C01C4010E94C422E016DD -:102A0000F1060CF4AFCF8BE060E00E94A21F2E967F -:102A10000FB6F894DEBF0FBECDBFCF91DF911F91EF -:102A20000F91FF90EF90DF90BF90AF909F908F90AD -:102A30007F906F900895EF92FF920F931F93082F4E -:102A4000E62E8BE061E00E94A21F10E08091190247 -:102A500090911A029C01029FC001039F900D129F4A -:102A6000900D11240E94F11E8BE060E00E94A21FD5 -:102A7000FF248091190290911A029C01E29EC001EC -:102A8000E39E900DF29E900D11240E94F11E1F9165 -:102A90000F91FF90EF90089580E00E94E21D08954D -:102AA00080E065E978E141E050E00E94BF1D0895B3 -:102AB00085E093E061E070E00E940520813511F42B -:102AC0000E944C1585E093E061E070E00E940520D3 -:102AD000853411F40E94501508952F923F924F9221 -:102AE0005F926F927F928F929F92AF92BF92CF929E -:102AF000DF92EF92FF920F931F93DF93CF93CDB7A7 -:102B0000DEB7ED970FB6F894DEBF0FBECDBF85E000 -:102B100093E061E070E00E940520823509F0EBC08F -:102B2000FE01F2968CE0DF011D928A95E9F77E01A5 -:102B30000894E11CF11CC70162EB71E00E94C42102 -:102B40008E01085F1F4FC80167EC71E00E94C4212D -:102B500085E093E0B80142E050E00E943820B82EB2 -:102B6000C8010E94C422AA2486E1282E312C2C0EF2 -:102B70003D1E67010BE2402E512C4C0E5D1E1DE1E7 -:102B8000612E712C6C0E7D1EB4E28B2E912C8C0E5E -:102B90009D1E3FC0C60162E070E00E9405208D339B -:102BA00009F097C0C301B60141E050E022E030E0F7 -:102BB0000E945A22C3010E942720162FC3010E949F -:102BC000C422C401B60143E050E00E94A122C40126 -:102BD0000E942720E12FF0E0EE0FFF1FEC0DFD1DFE -:102BE00072AB61ABC40112C0C60161E070E00E942B -:102BF00005208D3369F4C201B60142E050E00E9425 -:102C0000A122C2010E942720A62EC2010E94C42236 -:102C1000B02E0B2D112707FD109578010894E11CAB -:102C2000F11C85E093E0B7010E940520843409F48B -:102C300059C085E093E064E40E947420E816F90628 -:102C40000CF050C0CE010F9667EC71E00E94C421D9 -:102C50000E5F1F4F85E093E0BE01615F7F4FA801CB -:102C60000E943820082FCE010F960E94C422202FE8 -:102C7000332727FD3095C10165E073E0A7010E946D -:102C80005A22C601B1010E94AD22C1010E94C42294 -:102C9000C60160E070E00E9405208035D1F47ACF53 -:102CA000C7010E948A1462E070E080E090E00E9418 -:102CB000CB1E1F5F1A15A0F30E94501585E295E008 -:102CC00065E073E00E94AB1DCE0101960E94C42214 -:102CD00012C0C60160E070E00E940520823509F054 -:102CE00097CF82CF0E944C1510E072E3E72EF12CB3 -:102CF000EC0EFD1EDFCFED960FB6F894DEBF0FBED3 -:102D0000CDBFCF91DF911F910F91FF90EF90DF909A -:102D1000CF90BF90AF909F908F907F906F905F907B -:102D20004F903F902F900895EF92FF920F931F9333 -:102D3000CF93DF937C010E944C1500E010E024C08B -:102D400081E06FE10E941B15E70119C0813371F02A -:102D5000863449F0803391F481E063E00E941B15D2 -:102D600081E063E009C081E063E002C083E061E0EC -:102D70000E941B1583E061E00E941B15219688814B -:102D8000882321F70F5F1F4F8091180290E00817EA -:102D90001907B4F20E945015DF91CF911F910F9146 -:102DA000FF90EF900895EF92FF920F931F93DF93A0 -:102DB000CF93CDB7DEB7EA970FB6F894DEBF0FBE5C -:102DC000CDBF85E093E061E070E00E94052084378C -:102DD00031F185E093E061E070E00E9405208237E8 -:102DE00029F58E010C5F1F4FC80165E073E042E0DA -:102DF00050E00E94A122C8017E010894E11CF11C50 -:102E0000B70143E050E020E030E00E947920C801A3 -:102E10000E94C422C7010E9488028093180285E2A2 -:102E200095E065E073E00E94AB1D97C085E093E0FC -:102E300061E070E00E940520833731F58DE061E0AC -:102E40000E94A21F8E01055F1F4FC80165E073E05D -:102E500042E050E00E94A1222EE2E22EF12CEC0E84 -:102E6000FD1EC801B7014DE050E020E030E00E94B7 -:102E70007920C8010E94C422C7010E9494168DE0E7 -:102E800060E00E94A21FCBCF85E093E061E070E09C -:102E90000E9405208336A9F48E010E5E1F4FC801E3 -:102EA00065E073E042E050E00E94A122C8010E9468 -:102EB000272070931A0260931902C8010E94C4224D -:102EC000AECF85E093E061E070E00E94052080379E -:102ED00009F043C099E1E92EF12CEC0EFD1EC7016B -:102EE00062EB71E00E94C421C70164E170E00E94BE -:102EF000C020C70169EC71E00E94DE218E01005EF6 -:102F00001F4FC801609118024AE00E942822C701A1 -:102F1000B8010E948921C8010E94C422C70164ED42 -:102F200071E00E9479218E01095D1F4F60911902A5 -:102F300070911A02C8014AE00E94F721C701B80146 -:102F40000E948921C8010E94C42285E295E0B70150 -:102F50000E94AB1DC7010E94C422EA960FB6F894E6 -:102F6000DEBF0FBECDBFCF91DF911F910F91FF90BC -:102F7000EF900895DF93CF9300D0CDB7DEB785E013 -:102F800093E060E070E00E9405208F3309F056C0A6 -:102F900085E295E06FE30E94271C85E295E068E6F4 -:102FA00070E00E94041C85E295E066E50E94271C03 -:102FB00085E295E060E20E94271C85E295E069E6E3 -:102FC0000E94271C85E295E060E20E94271C85E2B2 -:102FD00095E062E50E94271C85E295E060E20E9490 -:102FE000271C85E295E064E70E94271C85E295E0B6 -:102FF00060E20E94271C85E295E068E50E94271C9C -:1030000085E295E060E20E94271C85E295E066E497 -:103010000E94271C85E295E060E20E94271C85E261 -:1030200095E063E50E94271C85E295E060E20E943E -:10303000271C85E295E062EB71E00CC085E093E02F -:1030400060E070E00E940520863539F485E295E065 -:1030500066ED71E00E94651D63C085E093E060E06D -:1030600070E00E940520823571F4809154059091A2 -:103070005505009711F488E595E0BE016F5F7F4F1D -:10308000681B790B31C085E093E060E070E00E943E -:103090000520893649F48DE093E00E947007892B62 -:1030A00089F40E94D3163CC085E093E060E070E0B4 -:1030B0000E940520833569F48DE093E00E9470073B -:1030C000892B21F081E080930C032AC00E946D15AA -:1030D00027C085E093E060E070E00E94052084371F -:1030E00051F40E943414BC0185E295E04AE050E0BE -:1030F0000E94431D15C085E093E060E070E00E94EF -:103100000520883519F40E9458150AC085E093E01F -:1031100060E070E00E940520863411F40E94A11343 -:103120000F900F90CF91DF910895AF92BF92CF9201 -:10313000DF92EF92FF920F931F9380919104882367 -:10314000A1F481E994E00E94C61B892B71F00E94D2 -:10315000A51E6093990470939A0480939B049093A6 -:103160009C0481E994E00E94D01B0E94A51E7B0173 -:103170008C0182E00E94D51FAC018091990490914E -:103180009A04A0919B04B0919C0457016801A81A6D -:10319000B90ACA0ADB0AD601C501E0929904F09285 -:1031A0009A0400939B0410939C048A359105A10511 -:1031B000B10594F181302DE7920720E0A20720E0CD -:1031C000B2071CF021E03DE701C09501452B19F045 -:1031D000309521953F4F809161028035E8F48091D0 -:1031E00061028F5F80936102809162026091600250 -:1031F00090E070E00E94982480936202E091620265 -:10320000F0E0EE0FFF1FEC59FD4F318320838091DA -:1032100062028F5F809362021F910F91FF90EF9087 -:10322000DF90CF90BF90AF900895FF920F931F93C0 -:10323000DF93CF9300D0CDB7DEB780910C03882306 -:10324000D1F110920C030E94BA1780910C038823CD -:1032500031F485E093E062EB71E00E94DE2181E0D1 -:103260008093040328C080916102815080936102A1 -:10327000809163026091600290E070E00E94982467 -:103280008093630280916302E82FF0E0EE0FFF1F4E -:10329000EC59FD4F208131818F5F809363023A8327 -:1032A00029838DE093E0B8010E94700A882341F0E1 -:1032B000F092040305C08E010F5F1F4FFF24F394AB -:1032C00080916102882379F60F900F90CF91DF9162 -:1032D0001F910F91FF90089585E295E040E051EE37 -:1032E00060E070E00E94301A82E060E00E94361FC9 -:1032F0008BE061E00E94361F8DE061E00E94361F86 -:10330000E1E8F0E080E180831092800082E0809329 -:103310005D0288EA91E690935C0280935B02909351 -:1033200087008093860082E1808382E894E1909315 -:103330005F0280935E0281E080936F000E945015CF -:1033400085E093E064E170E00E94C02008951F9240 -:103350000F920FB60F9211242F933F934F938F9399 -:103360009F93EF93FF938091C00082FD1DC0409119 -:10337000C6002091DD043091DE042F5F3F4F2F7394 -:1033800030708091DF049091E0042817390771F0C4 -:10339000E091DD04F091DE04E356FB4F408330936F -:1033A000DE042093DD0402C08091C600FF91EF91FE -:1033B0009F918F914F913F912F910F900FBE0F9042 -:1033C0001F901895E0913105F0913205E05CFF4FB8 -:1033D0008191919120813181821B930B8F73907029 -:1033E000892B11F00E94601408951F920F920FB65E -:1033F0000F9211242F933F938F939F93EF93FF93FB -:10340000209121053091220580912305909124057A -:103410002817390731F48091C1008F7D8093C10056 -:1034200014C0E0912305F0912405EF51FB4F20815A -:10343000809123059091240501968F73907090934D -:103440002405809323052093C600FF91EF919F915F -:103450008F913F912F910F900FBE0F901F90189555 -:10346000AF92BF92DF92EF92FF920F931F93CF9391 -:10347000DF93EC017A018B01DD24403081EE5807A7 -:1034800080E0680780E0780711F0DD24D39491E0B4 -:10349000A92EB12CEC89FD89DD2069F0C50108A0B9 -:1034A00002C0880F991F0A94E2F7808360E079E0F8 -:1034B0008DE390E005C0108260E874E88EE190E052 -:1034C000A80197010E94BF24215030404040504045 -:1034D000569547953795279580E12030380720F09D -:1034E000DD2011F0DD24D6CFE889F9893083EA891F -:1034F000FB89208319A2EE89FF89408121E030E019 -:10350000C9010C8C02C0880F991F0A94E2F7482B5E -:103510004083EE89FF894081C9010D8C02C0880F6C -:10352000991F0A94E2F7482B4083EE89FF89408176 -:10353000C9010E8C02C0880F991F0A94E2F7482B2C -:103540004083EE89FF8980810F8C02C0220F331FD8 -:103550000A94E2F7209528232083DF91CF911F91D1 -:103560000F91FF90EF90DF90BF90AF900895DC0136 -:103570001C96ED91FC911D97E05CFF4F21913191DC -:1035800080819181281B390B2F733070C9010895F8 -:10359000DC011C96ED91FC911D97E05CFF4F2081B2 -:1035A0003181E054F040DF01AE5BBF4F8D919C91C3 -:1035B00011972817390719F42FEF3FEF07C08D91A6 -:1035C0009C91E80FF91F8081282F30E0C9010895F0 -:1035D000DC011C96ED91FC911D97E05CFF4F208172 -:1035E0003181E054F040DF01AE5BBF4F8D919C9183 -:1035F00011972817390719F42FEF3FEF10C08D915D -:103600009C911197E80FF91F20818D919C91119742 -:1036100001968F73907011969C938E9330E0C90140 -:103620000895DC0191968C919197882339F05496F6 -:10363000ED91FC915597808186FFF9CF91961C9270 -:103640000895CF93DF93EC01EE85FF85E05CFF4F9B -:1036500020813181E054F0402F5F3F4F2F73307055 -:10366000DF01AE5BBF4F8D919C91119728173907F1 -:10367000D1F3E05CFF4F80819181E054F040E80F8E -:10368000F91F6083EE85FF85E05CFF4F3183208367 -:10369000EE89FF89208181E090E00F8C02C0880FC5 -:1036A000991F0A94E2F7282B208381E089A3EC89F3 -:1036B000FD8980818064808381E090E0DF91CF91FB -:1036C0000895109228051092270588EE93E0A0E057 -:1036D000B0E08093290590932A05A0932B05B09321 -:1036E0002C058BE492E090932605809325058DE9C7 -:1036F00094E0909332058093310581EE94E09093AD -:1037000034058093330585EC90E0909336058093E3 -:10371000350584EC90E0909338058093370580EC74 -:1037200090E090933A058093390581EC90E0909376 -:103730003C0580933B0582EC90E090933E0580939E -:103740003D0586EC90E09093400580933F0584E032 -:103750008093410583E08093420587E08093430591 -:1037600085E08093440581E0809345050895CF93DB -:10377000DF930E94FB1E0E946C19C2EED9E10E94E9 -:1037800015192097E1F30E94E219F9CFFC0120E01E -:1037900030E08081882311F421E030E0C9010895F0 -:1037A000FC0181E0808308950E945B0108950E94DE -:1037B000B1000895CF92DF92EF92FF920F931F9383 -:1037C000CF93DF937C016B018A01C0E0D0E00FC092 -:1037D000D6016D916D01D701ED91FC910190F081C1 -:1037E000E02DC7010995C80FD91F015010400115E0 -:1037F000110571F7CE01DF91CF911F910F91FF90CD -:10380000EF90DF90CF900895EF92FF920F931F9368 -:10381000CF93DF937C018B01C0E0D0E0F8010F5F14 -:103820001F4F6491662359F0D701ED91FC910190EF -:10383000F081E02DC7010995C80FD91FEFCFCE0148 -:10384000DF91CF911F910F91FF90EF900895DC01D0 -:10385000ED91FC910190F081E02D09950895EF9292 -:10386000FF920F931F938C01DC01ED91FC9101906D -:10387000F081E02D6DE009957C01D801ED91FC917E -:103880000190F081E02DC8016AE009959C012E0DA0 -:103890003F1DC9011F910F91FF90EF900895CF93A5 -:1038A000DF93EC016115710519F420E030E00FC0E1 -:1038B000DB010D900020E9F71197A61BB70BE881FB -:1038C000F9810280F381E02DAD0109959C01C901C8 -:1038D000DF91CF9108954F925F927F928F929F9246 -:1038E000AF92BF92CF92DF92EF92FF920F931F930E -:1038F000DF93CF93CDB7DEB7A1970FB6F894DEBFB5 -:103900000FBECDBF2C01742ECB01223008F42AE06B -:1039100019A231E2C32ED12CCC0EDD1E822E9924A9 -:10392000AA24BB24672D752FA50194010E94BF24F2 -:1039300079018A01C801B701A50194010E94792487 -:10394000472D461B0894C108D1084A3014F4405D45 -:1039500001C0495CF6014083E114F1040105110541 -:1039600021F07E2C5F2DC801DDCFC201B6010E947F -:103970004F1CA1960FB6F894DEBF0FBECDBFCF91FE -:10398000DF911F910F91FF90EF90DF90CF90BF904C -:10399000AF909F908F907F905F904F900895DC0143 -:1039A0002115310541F4ED91FC910190F081E02D5C -:1039B000642F099508950E946B1C0895EF92FF9261 -:1039C0000F931F939A01E62EFF2400E010E0B80148 -:1039D000A7010E94CF1C1F910F91FF90EF900895B7 -:1039E000CF92DF92EF92FF920F931F93CF93DF93CB -:1039F000EC016A017B012115310541F4E881F9816F -:103A00000190F081E02D642F09951FC02A30310507 -:103A1000D1F477FF17C0E881F9810190F081E02DA2 -:103A20006DE209958C0144275527BA014C195D09AF -:103A30006E097F09CE012AE00E946B1C9801280FB5 -:103A4000391F04C02AE00E946B1C9C01C901DF9150 -:103A5000CF911F910F91FF90EF90DF90CF9008953D -:103A6000EF92FF920F931F937B019A010027F7FCBF -:103A70000095102FB801A7010E94F01C1F910F9113 -:103A8000FF90EF900895CF92DF92EF92FF920F9305 -:103A90001F936C017B019A010027F7FC0095102F02 -:103AA000B801A7010E94F01C8C01C6010E942F1CC6 -:103AB000080F191FC8011F910F91FF90EF90DF9021 -:103AC000CF9008950E944F1C0895EF92FF920F939C -:103AD0001F937C010E944F1C8C01C7010E942F1C68 -:103AE000080F191FC8011F910F91FF90EF900895C3 -:103AF000AF92BF92CF92DF92EF92FF920F931F93FC -:103B0000CF93DF935C016B01EE24FF24C0E0D0E093 -:103B100010C0D501ED91FC9100811181C601BE015B -:103B20000E941620682FC501F8010995E80EF91EBC -:103B30002196F60184819581C817D90750F3C701F2 -:103B4000DF91CF911F910F91FF90EF90DF90CF9079 -:103B5000BF90AF900895EF92FF920F931F937C0157 -:103B60000E94781D8C01C7010E942F1C9C01200F10 -:103B7000311FC9011F910F91FF90EF90089582307E -:103B800000F5E82FF0E0EE0FFF1FE95BFA4F7183BD -:103B90006083882319F08130A1F408C08091690006 -:103BA0008C7F842B80936900E89A08958091690046 -:103BB000440F551F440F551F837F842B809369004A -:103BC000E99A0895823080F4882319F0813021F435 -:103BD00002C0E89801C0E998E82FF0E0EE0FFF1F5F -:103BE000E95BFA4F1182108208951F920F920FB66F -:103BF0000F9211242F933F934F935F936F937F9373 -:103C00008F939F93AF93BF93EF93FF93809147055B -:103C100090914805892B29F0E0914705F0914805DE -:103C20000995FF91EF91BF91AF919F918F917F91F6 -:103C30006F915F914F913F912F910F900FBE0F9019 -:103C40001F9018951F920F920FB60F9211242F9369 -:103C50003F934F935F936F937F938F939F93AF9314 -:103C6000BF93EF93FF938091490590914A05892B6B -:103C700029F0E0914905F0914A050995FF91EF91EE -:103C8000BF91AF919F918F917F916F915F914F9174 -:103C90003F912F910F900FBE0F901F9018951F927C -:103CA0000F920FB60F9211242F933F938F939F93F0 -:103CB000AF93BF9380914F0590915005A09151050E -:103CC000B0915205309153050196A11DB11D232FCE -:103CD0002D5F2D3720F02D570196A11DB11D20938A -:103CE000530580934F0590935005A0935105B093D1 -:103CF000520580914B0590914C05A0914D05B091D6 -:103D00004E050196A11DB11D80934B0590934C0566 -:103D1000A0934D05B0934E05BF91AF919F918F91A8 -:103D20003F912F910F900FBE0F901F9018958FB756 -:103D3000F89420914F0530915005409151055091D4 -:103D400052058FBFB901CA0108959FB7F894209119 -:103D50004B0530914C0540914D0550914E0586B56F -:103D6000A89B06C08F3F21F02F5F3F4F4F4F5F4F03 -:103D70009FBF542F432F322F2227280F311D411D63 -:103D8000511D82E0220F331F441F551F8A95D1F722 -:103D9000B901CA010895EF92FF920F931F93CF9339 -:103DA000DF937B018C010E94A51EEB010EC00E94D7 -:103DB000A51E6C1B7D0B685E7340C8F30894E10878 -:103DC000F10801091109C851DC4FE114F1040105A2 -:103DD000110569F7DF91CF911F910F91FF90EF903F -:103DE0000895019739F0880F991F880F991F02973E -:103DF0000197F1F70895789484B5826084BD84B505 -:103E0000816084BD85B5826085BD85B5816085BDD5 -:103E1000EEE6F0E0808181608083E1E8F0E01082EE -:103E2000808182608083808181608083E0E8F0E02F -:103E3000808181608083E1EBF0E080818460808319 -:103E4000E0EBF0E0808181608083EAE7F0E0808150 -:103E500084608083808182608083808181608083B0 -:103E60008081806880831092C1000895CF93DF9392 -:103E7000482F50E0CA0189559F4FFC0134914D569F -:103E80005F4FFA018491882369F190E0880F991FB0 -:103E9000FC01EB58FF4FA591B491FC01E158FF4F95 -:103EA000C591D491662351F42FB7F8948C91932F38 -:103EB000909589238C93888189230BC0623061F4AB -:103EC0002FB7F8948C91932F909589238C938881A8 -:103ED000832B88832FBF06C09FB7F8948C91832BC8 -:103EE0008C939FBFDF91CF910895833071F0843020 -:103EF00028F48130A1F0823021F514C08630B1F071 -:103F00008730D1F08430E9F404C0809180008F774D -:103F100003C0809180008F7D80938000089584B5D8 -:103F20008F7702C084B58F7D84BD08958091B000E5 -:103F30008F778093B00008958091B0008F7D80933B -:103F4000B0000895FF920F931F93F62E482F50E074 -:103F5000CA0185549F4FFC012491CA0189559F4F86 -:103F6000FC0114914D565F4FFA0104910023C9F0F2 -:103F7000222319F0822F0E94751FE02FF0E0EE0F30 -:103F8000FF1FE158FF4FA591B4919FB7F894FF2010 -:103F900021F48C911095812302C08C91812B8C93FC -:103FA0009FBF1F910F91FF9008950F931F93482F6C -:103FB00050E0CA0185549F4FFC012491CA018955E4 -:103FC0009F4FFC0104914D565F4FFA01149111234C -:103FD00019F420E030E015C0222319F0822F0E944E -:103FE000751F812F90E0880F991F87579F4FFC0105 -:103FF000A591B4918C9120E030E0802311F021E074 -:1040000030E0C9011F910F910895FC0184819581D1 -:104010006817790748F40190F081E02D309721F07E -:10402000E60FF71F8081089580E00895FC018481E8 -:1040300095816817790748F40190F081E02D309759 -:1040400021F0E60FF71F8081089580E00895FC01BC -:1040500080819181009729F420E030E040E050E039 -:1040600004C00E94A6029B01AC01B901CA010895D7 -:10407000CF93DF93FC01DB018481958148175907B9 -:1040800060F4C081D1816D917C91CE01840F951F28 -:104090000E9415039C01009719F42FEF3FEF02C017 -:1040A0002C1B3D0BC901DF91CF910895CF93DF9376 -:1040B000FC01848195814817590768F4C081D1813A -:1040C000772767FD7095CE01840F951F0E94F4023B -:1040D0009C01009719F42FEF3FEF02C02C1B3D0B02 -:1040E000C901DF91CF91089540E050E00E94562031 -:1040F00008950F931F93CF93DF93FC018B0141151C -:104100005105F9F061157105E1F084819581281759 -:10411000390718F0FB01108214C041505040EC01E7 -:10412000C21BD30B4C175D0708F4EA016081718153 -:10413000620F731FC801AE010E940603C00FD11F9A -:104140001882DF91CF911F910F9108950F931F93C4 -:10415000CF93DF93EC018B016F5F7F4F8881998153 -:104160000E94B301009711F480E005C09983888311 -:104170001B830A8381E0DF91CF911F910F910895F6 -:10418000CF93DF93EC0188819981892B29F08A8173 -:104190009B818617970760F4CE010E94A620882392 -:1041A00041F08C819D81892B19F4E881F98110827D -:1041B00081E0DF91CF910895EF92FF920F931F93CB -:1041C000CF93DF93EC017B016C817D81E114F104DD -:1041D000C1F04115510599F08A01060F171FB8016A -:1041E0000E94C020882369F0888199812C813D81BB -:1041F000820F931FB7010E94FF021D830C8381E091 -:1042000001C080E0DF91CF911F910F91FF90EF905F -:104210000895EF92FF920F931F93DF93CF93CDB743 -:10422000DEB727970FB6F894DEBF0FBECDBF7C0177 -:10423000CB018E010F5F1F4FB8014AE050E00E9492 -:104240006103F80101900020E9F73197E01BF10BC1 -:10425000C701B801AF010E94DC2027960FB6F89481 -:10426000DEBF0FBECDBFCF91DF911F910F91FF90A9 -:10427000EF900895EF92FF920F931F93DF93CF93E8 -:1042800000D000D0CDB7DEB77C01862F90E08E0144 -:104290000F5F1F4FB8014AE050E00E946103F80130 -:1042A00001900020E9F73197E01BF10BC701B8013D -:1042B000AF010E94DC200F900F900F900F90CF91D4 -:1042C000DF911F910F91FF90EF900895DF93CF93AF -:1042D00000D0CDB7DEB769831A82BE016F5F7F4F12 -:1042E00041E050E00E94DC200F900F90CF91DF91D1 -:1042F00008956115710511F480E00895DB010D90BA -:104300000020E9F71197A61BB70BAD010E94DC2036 -:104310000895FB0160817181448155810E94DC20F8 -:104320000895CF93DF93EC0188819981009711F074 -:104330000E945B01198218821D821C821B821A82D4 -:10434000DF91CF910895EF92FF920F931F93CF9338 -:10435000DF93EC017B018A01BA010E94C02088230F -:1043600021F4CE010E94912107C01D830C83888116 -:104370009981B7010E94FF02CE01DF91CF911F9179 -:104380000F91FF90EF900895CF93DF93EC01198286 -:1043900018821B821A821D821C821E826115710581 -:1043A00051F0DB010D900020E9F71197A61BB70B28 -:1043B000AD010E94A321DF91CF9108950F931F9328 -:1043C000182F092F6115710559F0DB010D900020A0 -:1043D000E9F71197A61BB70BAD010E94A32102C0FC -:1043E0000E949121812F902F1F910F910895EF929C -:1043F000FF920F931F93DF93CF93CDB7DEB76297F2 -:104400000FB6F894DEBF0FBECDBF8C01CB01F80113 -:1044100011821082138212821582148216827E010A -:104420000894E11CF11CB70150E00E946103C8012F -:10443000B7010E94DE2162960FB6F894DEBF0FBE70 -:10444000CDBFCF91DF911F910F91FF90EF90089515 -:10445000EF92FF920F931F93DF93CF93CDB7DEB709 -:1044600029970FB6F894DEBF0FBECDBF8C01862F03 -:10447000F801118210821382128215821482168230 -:1044800090E07E010894E11CF11CB70150E00E940D -:104490009F03C801B7010E94DE2129960FB6F89448 -:1044A000DEBF0FBECDBFCF91DF911F910F91FF9067 -:1044B000EF900895BF92CF92DF92EF92FF920F9309 -:1044C0001F93CF93DF93082FB92E6B017A01E90177 -:1044D0002417350710F4EA017901802F9B2D61E143 -:1044E00072E00E94C421D60114968D919C9115977B -:1044F0008E159F05D0F08C179D0708F4EC01D601AE -:10450000ED91FC911197EC0FFD1F108110826D91C0 -:104510007C916E0D7F1D802F9B2D0E94DE21D60188 -:10452000ED91FC91EC0FFD1F1083802F9B2DDF91EF -:10453000CF911F910F91FF90EF90DF90CF90BF90A0 -:1045400008950F931F938C01FB01248135810E94F4 -:104550005A22C8011F910F910895CF93DF93EC0168 -:10456000FB018617970761F0608171816115710504 -:1045700029F0448155810E94A32102C00E9491210B -:10458000CE01DF91CF910895FC01808191810E943D -:104590005B0108955058BB27AA270ED009C1FAD055 -:1045A00030F0FFD020F031F49F3F11F41EF4EFC043 -:1045B0000EF4E095E7FBE5C0E92F0BD180F3BA17C5 -:1045C000620773078407950718F071F49EF523C1FD -:1045D0000EF4E0950B2EBA2FA02D0B01B90190011E -:1045E0000C01CA01A0011124FF27591B99F0593F62 -:1045F00050F4503E68F11A16F040A22F232F342FAA -:104600004427585FF3CF469537952795A795F040F7 -:104610005395C9F77EF41F16BA0B620B730B840B0C -:10462000BAF09150A1F0FF0FBB1F661F771F881FC4 -:10463000C2F70EC0BA0F621F731F841F48F487951C -:1046400077956795B795F7959E3F08F0B3CF93950B -:10465000880F08F09927EE0F97958795089504D055 -:104660006894B111D9C00895BCD088F09F5790F0DC -:10467000B92F9927B751A0F0D1F0660F771F881F87 -:10468000991F1AF0BA95C9F712C0B13081F0C3D0A2 -:10469000B1E00895C0C0672F782F8827B85F39F040 -:1046A000B93FCCF3869577956795B395D9F73EF4E6 -:1046B00090958095709561957F4F8F4F9F4F08958E -:1046C000E89409C097FB3EF49095809570956195AC -:1046D0007F4F8F4F9F4F9923A9F0F92F96E9BB2762 -:1046E0009395F695879577956795B795F111F8CFDE -:1046F000FAF4BB0F11F460FF1BC06F5F7F4F8F4F49 -:104700009F4F16C0882311F096E911C0772321F03E -:104710009EE8872F762F05C0662371F096E8862FD6 -:1047200070E060E02AF09A95660F771F881FDAF72D -:10473000880F9695879597F90895990F0008550F5A -:10474000AA0BE0E8FEEF16161706E807F907C0F017 -:1047500012161306E407F50798F0621B730B840B1F -:10476000950B39F40A2661F0232B242B252B21F4F9 -:1047700008950A2609F4A140A6958FEF811D811D99 -:10478000089597F99F6780E870E060E008959FEFD3 -:1047900080EC089500240A941616170618060906D8 -:1047A000089500240A9412161306140605060895A7 -:1047B000092E0394000C11F4882352F0BB0F40F42F -:1047C000BF2B11F460FF04C06F5F7F4F8F4F9F4F6F -:1047D000089557FD9058440F551F59F05F3F71F0F1 -:1047E0004795880F97FB991F61F09F3F79F0879558 -:1047F0000895121613061406551FF2CF4695F1DFE1 -:1048000008C0161617061806991FF1CF8695710570 -:10481000610508940895E894BB2766277727CB01A4 -:1048200097F908958ADF08F48FEF08950BD0C0CF71 -:10483000B1DF28F0B6DF18F0952309F0A2CFA7CF9B -:104840001124EACFC6DFA0F3959FD1F3950F50E076 -:10485000551F629FF001729FBB27F00DB11D639F32 -:10486000AA27F00DB11DAA1F649F6627B00DA11DD8 -:10487000661F829F2227B00DA11D621F739FB00D7E -:10488000A11D621F839FA00D611D221F749F3327EE -:10489000A00D611D231F849F600D211D822F762F87 -:1048A0006A2F11249F5750408AF0E1F088234AF084 -:1048B000EE0FFF1FBB1F661F771F881F91505040D0 -:1048C000A9F79E3F510570F05CCFA6CF5F3FECF398 -:1048D000983EDCF3869577956795B795F795E795BC -:1048E0009F5FC1F7FE2B880F911D9695879597F9CD -:1048F0000895629FD001739FF001829FE00DF11D2A -:10490000649FE00DF11D929FF00D839FF00D749F49 -:10491000F00D659FF00D9927729FB00DE11DF91FF5 -:10492000639FB00DE11DF91FBD01CF011124089552 -:10493000AA1BBB1B51E107C0AA1FBB1FA617B707C5 -:1049400010F0A61BB70B881F991F5A95A9F78095E1 -:104950009095BC01CD01089597FB092E07260AD03A -:1049600077FD04D0E5DF06D000201AF4709561953C -:104970007F4F0895F6F7909581959F4F0895A1E296 -:104980001A2EAA1BBB1BFD010DC0AA1FBB1FEE1FC9 -:10499000FF1FA217B307E407F50720F0A21BB30B14 -:1049A000E40BF50B661F771F881F991F1A9469F790 -:1049B00060957095809590959B01AC01BD01CF01EC -:1049C0000895EE0FFF1F0590F491E02D09942F92AA -:1049D0003F924F925F926F927F928F929F92AF928F -:1049E000BF92CF92DF92EF92FF920F931F93CF93DC -:1049F000DF93CDB7DEB7CA1BDB0B0FB6F894DEBF73 -:104A00000FBECDBF09942A88398848885F846E8498 -:104A10007D848C849B84AA84B984C884DF80EE80E2 -:104A2000FD800C811B81AA81B981CE0FD11D0FB6EB -:104A3000F894DEBF0FBECDBFED01089510E0C4EDC8 -:104A4000D0E004C0FE010E94E3242296C63DD107B7 -:064A5000C9F7F894FFCF46 -:104A56000041530025303258003030003000433DCD -:104A6600004C4C3D004C483D00534C3D0053483DE6 -:104A7600004D53003D00443D0043503D0053503D22 -:104A8600004F00636F7079004D430050004D550094 -:104A960053796E633A2000202D3E2053796E63468B -:104AA6006163743A20002C20436C6F636B3A2000DC -:104AB6002C20546F6C3A20002C20506174744C6585 -:104AC6006E3A200020002C2050756C73653A200049 -:104AD6002C20002C206D53746172743A20005369A7 -:104AE600676E616C3A20002E2000205B005D00504E -:104AF60061747465726E3A20002050003A20002AD4 -:104B06005B00005550442046696C746572003B4357 -:104B16003D003B53463D003B004954506172616D78 -:104B2600733A200020005620332E312E382D484669 -:104B360032205349474E414C6475696E6F202D20D3 -:104B4600636F6D70696C6564206174204E6F7620AA -:104B5600203820323031352032313A33363A333745 -:104B66000000200058050000062C0100000000454A -:104B76000F6D076E07791000000000450F6D076E78 -:104B860007560A0000000005076D076E076F07004D -:104B96000000000000020000000000211BDA1BB725 -:084BA6001AE81AC81A111B00DD +:100000000C9477000C94EF130C9416140C949F002E +:100010000C949F000C949F000C949F000C949F00E4 +:100020000C949F000C949F000C949F000C949F00D4 +:100030000C949F000C947F080C949F000C949F00DC +:100040000C943D140C949F000C9401170C943317DE +:100050000C949F000C949F000C949F000C949F00A4 +:100060000C949F000C949F003B4D433D003B4D552D +:100070003D004D533D00556E737570706F72746521 +:100080006420636F6D6D616E640020557365206F31 +:100090006E65206F6620000000000800020100006D +:1000A0000304070000000000000000010204081023 +:1000B00020408001020408102001020408102004DE +:1000C00004040404040404020202020202030303FF +:1000D00003030300000000250028002B000000009F +:1000E00000240027002A0000190863175C08112467 +:1000F0001FBECFEFD8E0DEBFCDBF12E0A0E0B1E081 +:10010000ECE9F7E402C005900D92A231B107D9F7EE +:1001100024E0A2E1B2E001C01D92AF3DB207E1F7D9 +:1001200010E0CCEED0E004C02297FE010E94ED1D4D +:10013000C83ED107C9F70E94AA170C94C1230C949A +:100140000000CF92DF92EF92FF920F931F930E94D5 +:1001500093140091190210911A0220911B02309100 +:100160001C026B017C01C01AD10AE20AF30A970152 +:1001700086016093190270931A0280931B02909378 +:100180001C020A3511052105310578F181E0C816F8 +:100190008DE7D806E104F10410F4960102C021E0D5 +:1001A0003DE74A9B03C031952195310980915F035A +:1001B0008B34D8F480915F038F5F80935F038091CD +:1001C000600360915E030E94951D90936003E0912F +:1001D0006003F0E0EE0FFF1FEE59FC4F31832083E8 +:1001E000809160038F5F809360031F910F91FF9058 +:1001F000EF90DF90CF9008950F931F9360912302AB +:100200008DE00E948615109223020E9493140091A3 +:10021000190210911A0220911B0230911C02601BDE +:10022000710B820B930B62307D478105910520F0A5 +:100230001F910F910C94A1001F910F9108958DE1D2 +:1002400092E00E94521987E593E00E94521981E5DD +:1002500093E00C945219CF93DF93EC01FB012481BE +:1002600035810E94951BCE01DF91CF91089541E029 +:1002700050E061EA70E080E00C94BD1380E00C94E3 +:10028000DD13CF93DF931F92CDB7DEB72B9A20916A +:10029000060130910701482F429FC001439F900DF6 +:1002A000112469830E94DE142B988091060190919D +:1002B00007016981FC016E9FC0016F9F900D1124A1 +:1002C0000F90DF91CF910C94DE14EF92FF920F9379 +:1002D0001F93CF93DF93F82EE92E0E943E0100E09A +:1002E00010E02091080130E0021713072CF56FE1B0 +:1002F00081E00E944101CF2DDE2D29912223C9F0FA +:10030000213371F0263449F02033B9F763E081E0FE +:100310000E94410163E081E009C063E081E002C026 +:1003200061E083E00E94410161E083E00E944101BD +:10033000E4CF0F5F1F4FD5CFDF91CF911F910F916A +:10034000FF90EF900C9437013F924F925F926F9223 +:100350007F928F929F92AF92BF92CF92DF92EF9255 +:10036000FF920F931F93CF93DF93082FEB01542E2F +:10037000452E59010E9493146B017C0110E0812CE1 +:10038000912CB401600F711FC617D707A8F1C501E2 +:100390000E944D1B8053E52DF42DE80FF11DE80F51 +:1003A000F11D90818181382E331C3324331C692E3A +:1003B000782E31F077FE0CC071946194710808C0FA +:1003C00077FE03C071946194710888E1681A71081E +:1003D0000E9493146C157D058E059F05C8F333208C +:1003E00011F02B9801C02B9AC60CD71CE11CF11CF4 +:1003F0008FEF881A980AC5CF0E9493146C157D055B +:100400008E059F05C8F3DF91CF911F910F91FF904B +:10041000EF90DF90CF90BF90AF909F908F907F90A4 +:100420006F905F904F903F9008954F925F926F92C0 +:100430007F928F929F92AF92BF92CF92DF92EF9274 +:10044000FF920F931F93CF93DF93982E862E2A014E +:100450002B9A0E9493146B017C01662457FC6094D4 +:10046000762C891408F446C0692D70E08DE192E085 +:100470000E944D1B90ED980F9A3010F4892F01C007 +:100480008753C4E0D0E008E0A82EBB24A7FCB094BA +:100490000E9493146C157D058E059F05C8F310E02E +:1004A00098012A213B21232B71F02B98C40CD51CD9 +:1004B000E61CF71C0E9493146C157D058E059F05A4 +:1004C000C8F32B9A0DC02B9AC40CD51CE61CF71C44 +:1004D0000E9493146C157D058E059F05C8F32B981B +:1004E000C40CD51CE61CF71C15950795219781F6C1 +:1004F0009394B7CF0E9493146C157D058E059F05CC +:10050000C8F3DF91CF911F910F91FF90EF90DF9093 +:10051000CF90BF90AF909F908F907F906F905F90A3 +:100520004F900895CF92DF92EF92FF920F931F9317 +:10053000CF93DF9300D000D000D0CDB7DEB78C01D1 +:100540006B01FC01E080F1806DE071E0CE0101966D +:100550000E94C019A701BE016F5F7F4F8DE192E03D +:100560000E94791B7C01CE0101960E945219FFEF77 +:10057000EF16FF0601F1F801408151814F3FFFEF77 +:100580005F07C9F097016DE172E0CE0101960E940C +:10059000951BBE016F5F7F4FC6010E940C1ACE01F2 +:1005A00001960E9452198FEFE81AF80AF801F182B9 +:1005B000E08281E001C080E026960FB6F894DEBFAD +:1005C0000FBECDBFDF91CF911F910F91FF90EF90A4 +:1005D000DF90CF900895BF92CF92DF92EF92FF927B +:1005E0000F931F93CF93DF93CDB7DEB7C856D109D2 +:1005F0000FB6F894DEBF0FBECDBF63E072E0CE0150 +:100600008F599F4F0E94C0196EE170E0CE018F5943 +:100610009F4F0E948319A9961FAE1EAEA9970E94F4 +:100620003E011FEF01E042E1F42E59E0E52E62E0C9 +:10063000D62ECC24C394BE016F597F4FCE01895969 +:100640009F4F0E949202882309F44FC060E070E03F +:10065000CE018F599F4F0E944D1B833589F561E074 +:1006600070E0CE018F599F4F0E944D1B833419F3C8 +:1006700061E070E0CE018F599F4F0E944D1B8D3479 +:1006800059F41F5FE1E0F0E0EC0FFD1FF19EE00D7B +:10069000F11D1124C282CFCF61E070E0CE018F59ED +:1006A0009F4F0E944D1B823531F61F5FE1E0F0E065 +:1006B000EC0FFD1FF19EE00DF11D1124D282BBCF86 +:1006C00060E070E0CE018F599F4F0E944D1B803536 +:1006D00009F068C062E070E0CE018F599F4F0E9420 +:1006E0004D1B8D3309F05EC082C0B12C32E1C32EA8 +:1006F000B016D1F1D12CED2CF12CCE9CA001CF9CC9 +:10070000500D1124E1E0F0E0EC0FFD1FE40FF51FA8 +:100710008281823079F44A5F5F4F21E030E02C0F14 +:100720003D1F420F531F648175812DE132E08381AB +:100730000E94A401CE9CF001CF9CF00D112481E019 +:1007400090E08C0F9D1FE80FF91F8281813031F4FA +:1007500040815181648183810E9415022B98D3943A +:100760001D1548F6B394C4CF0E9437016DE172E0C5 +:100770008EE394E00E944518CE018F599F4F0E944E +:100780005219C859DF4F0FB6F894DEBF0FBECDBF68 +:10079000DF91CF911F910F91FF90EF90DF90CF905D +:1007A000BF90089560E070E0CE018F599F4F0E9486 +:1007B0004D1B823509F050C061E070E0CE018F59C9 +:1007C0009F4F0E944D1B8D3309F046C042E050E020 +:1007D000BE016F597F4FCE01855A9F4F0E942B015A +:1007E000CE01855A9F4F0E94DA1B062F82C022E05D +:1007F00030E041E050E0BE016F597F4FCE01855A95 +:100800009F4F0E94951BCE01855A9F4F0E94DA1B75 +:10081000B62ECE01855A9F4F0E94521943E050E0F8 +:10082000BE016F597F4FCE01855A9F4F0E942B0109 +:10083000CE01855A9F4F0E94DA1BE19EF0011124E0 +:10084000EB0DF11D3396EE0FFF1F21E030E02C0F72 +:100850003D1FE20FF31F4BC060E070E0CE018F59E7 +:100860009F4F0E944D1B8434B9F4A9968EAD9FAD65 +:10087000A997E1E0F0E0EC0FFD1FF19EE00DF11D06 +:10088000112421E0280FA6963FADA697231B2383B2 +:10089000029795838483CFCE60E070E0CE018F59BC +:1008A0009F4F0E944D1B833409F0C5CE61E070E07C +:1008B000CE018F599F4F0E944D1B8D3309F0BBCE47 +:1008C00042E050E0BE016F597F4FCE01855A9F4FE5 +:1008D0000E942B01CE01855A9F4F0E94DA1BE1E056 +:1008E000F0E0EC0FFD1FF19EE00DF11D112471836E +:1008F0006083CE01855A9F4F0E9452199CCE62E7B9 +:1009000070E08EE394E00E94F7176091270270E098 +:100910004AE050E08EE394E00E940C196DE670E02E +:100920008EE394E00E94F7176091250270E04AE0A0 +:1009300050E08EE394E00E940C1968E670E08EE3CC +:1009400094E00E94F7176091260270E04AE050E0C0 +:100950008EE394E00C941419CF93DF93CDB7DEB7F8 +:10096000AE970FB6F894DEBF0FBECDBF61E070E06A +:100970008DE192E00E944D1B843729F161E070E027 +:100980008DE192E00E944D1B823721F542E050E05C +:100990006DE172E0CE0101960E942B0120E030E073 +:1009A00043E050E0BE01675D7F4FCE0101960E949B +:1009B0004F1BCE0101960E945219CE0189960E94CA +:1009C000E21F809308016DE172E08EE394E00E94E3 +:1009D000451895C061E070E08DE192E00E944D1BEA +:1009E0008337F1F42B9A42E050E06DE172E0CE01E2 +:1009F00089960E942B0120E030E048E250E0BE01E1 +:100A00006F5F7F4FCE0189960E944F1BCE01899662 +:100A10000E945219CE0101960E9465012B98D3CFF6 +:100A200061E070E08DE192E00E944D1B8336A9F4F5 +:100A300042E050E06DE172E0CE0101960E942B0190 +:100A4000CE0101960E94DA1B7093070160930601A4 +:100A5000CE0101960E945219B6CF61E070E08DE19F +:100A600092E00E944D1B803709F049C063E072E0BC +:100A7000CE0189960E94C01964E170E0CE0189968A +:100A80000E9483196FE071E0CE0189960E94181AC6 +:100A90004AE060910801CE0101960E94301ABE0121 +:100AA0006F5F7F4FCE0189960E94B51ACE010196E5 +:100AB0000E94521963E971E0CE0189960E94BC1A26 +:100AC00060910601709107014AE0CE0101960E94F3 +:100AD0005D1ABE016F5F7F4FCE0189960E94B51AE5 +:100AE000CE0101960E945219BE01675D7F4F8EE3D1 +:100AF00094E00E944518CE0189960E945219AE9644 +:100B00000FB6F894DEBF0FBECDBFDF91CF91089531 +:100B1000CF93DF9300D0CDB7DEB72091DB043091C7 +:100B2000DC042115310511F42FED34E0CE010196DE +:100B3000821B930B0F900F90DF91CF910895CF926E +:100B4000DF92EF92FF920E9487146B017C0128EEE6 +:100B500033E040E050E00E94C91D80911402909162 +:100B60001502A0911602B0911702C816D906EA061E +:100B7000FB0648F480911202909113020196909323 +:100B8000130280931202C0921402D0921502E092D6 +:100B90001602F0921702CA01B901FF90EF90DF90A0 +:100BA000CF9008956AE171E08EE394E00E945718B7 +:100BB00061E070E080E090E00C94B61461E070E0D9 +:100BC0008DE192E00E944D1B813511F40E943E019F +:100BD00061E070E08DE192E00E944D1B853411F4DC +:100BE0000C9437010895262F220F330B94E049020D +:100BF000B0011124682B622B81E090E00C94C62296 +:100C0000CF93DF9361E070E08DE192E00E944D1B95 +:100C1000873421F4DF91CF910C947F0462E070E07F +:100C20008DE192E00E944D1B833599F062E070E007 +:100C30008DE192E00E944D1B853571F062E070E01D +:100C40008DE192E00E944D1B833441F4C6E2D2E074 +:100C500005C0C7E2D2E002C0C5E2D2E061E070E0C8 +:100C60008DE192E00E944D1B853419F481E0888368 +:100C700009C061E070E08DE192E00E944D1B843478 +:100C800059F4188240912602609125028091270232 +:100C9000DF91CF910C94F305DF91CF91089560E03F +:100CA00070E08DE192E00E944D1B803511F40C94B0 +:100CB000D20560E070E08DE192E00E944D1B8F3321 +:100CC00009F072C06FE38EE394E00E9428186AE88E +:100CD00070E08EE394E00E94F71766E58EE394E0FF +:100CE0000E94281860E28EE394E00E94281869E6CA +:100CF0008EE394E00E94281860E28EE394E00E9464 +:100D0000281862E58EE394E00E94281860E28EE3E2 +:100D100094E00E94281864E78EE394E00E9428186B +:100D200060E28EE394E00E94281868E58EE394E088 +:100D30000E94281860E28EE394E00E94281866E47E +:100D40008EE394E00E94281860E28EE394E00E9413 +:100D5000281863E58EE394E00E94281860E28EE391 +:100D600094E00E94281860E58EE394E00E94281821 +:100D700060E28EE394E00E94281863E48EE394E03E +:100D80000E94281860E28EE394E00E94281867E42D +:100D90008EE394E00E94281860E28EE394E00E94C3 +:100DA000281863E072E00AC060E070E08DE192E034 +:100DB0000E944D1B863531F46DE171E08EE394E0C5 +:100DC0000C94571860E070E08DE192E00E944D1B9A +:100DD000823549F40E9488054AE050E0BC018EE368 +:100DE00094E00C94141960E070E08DE192E00E94B0 +:100DF0004D1B893641F484E292E00E94E508892B7C +:100E000081F40C94AC0460E070E08DE192E00E940B +:100E10004D1B833561F484E292E00E94E508892B42 +:100E200021F081E08093180208950C94EB0260E0B9 +:100E300070E08DE192E00E944D1B843751F40E94D6 +:100E40009F05AB01BC012AE030E08EE394E00C94F6 +:100E5000401960E070E08DE192E00E944D1B883502 +:100E600011F40C94DE0560E070E08DE192E00E94E8 +:100E70004D1B8634D1F060E070E08DE192E00E947D +:100E80004D1B833411F40C94000660E070E08DE19A +:100E900092E00E944D1B873411F40C947F0466E7A6 +:100EA00070E08EE394E00C94331808951F93CF9371 +:100EB000DF9300D0CDB7DEB780911802882389F088 +:100EC000109218020E944F0680911802811106C0EC +:100ED00063E072E08DE192E00E94181A81E0809355 +:100EE000230211E080915F03882341F180915F0329 +:100EF000815080935F038091610360915E030E9443 +:100F0000951D90936103E091610381E08E0F8093C2 +:100F10006103F0E0EE0FFF1FEE59FC4F80819181DD +:100F20009A838983BE016F5F7F4F84E292E00E94C3 +:100F30009B138823B9F210932302D4CF0F900F9004 +:100F4000DF91CF911F910895EF92FF920F931F931E +:100F5000CF93DF93EC017B018A0181E090E00E9456 +:100F6000BE22982F9170988381FB992790F9F70101 +:100F7000908382FB882780F9F8018083DF91CF91ED +:100F80001F910F91FF90EF90089526E040E051EE01 +:100F900060E070E08EE394E00E949F1660E082E0E3 +:100FA0000E944D1561E08BE00E944D1561E08DE0DF +:100FB0000E944D1580E1809381001092800082E0B4 +:100FC0008093FA0388E199E79093FC038093FB03F5 +:100FD000909387008093860082E1809381008CEF5C +:100FE00090E09093F9038093F80381E080936F0081 +:100FF00080E090E00E94BE228B3049F446E252E04D +:1010000065E272E087E292E00E94A4070AC06BE00A +:1010100080E090E00E94C62267E081E090E00E94BC +:10102000C6220E94370164E170E08DE192E00C94E9 +:1010300083190F931F93CF93DF938BE480935E0309 +:1010400010925F031092610310926003C7E3D3E034 +:10105000D0933C03C0933B0309E313E010933E039A +:1010600000933D0363E072E081E593E00E94C019C4 +:1010700063E072E087E593E00E94C019F8011182F5 +:1010800010821982188284E292E00E94A70863E02D +:1010900072E08DE192E00E94C0190E949314609367 +:1010A000190270931A0280931B0290931C02DF9125 +:1010B000CF911F910F9108950C941F01CF93C1E020 +:1010C0008EE394E00E94BC15892BB9F08EE394E086 +:1010D0000E94D5158A3041F01CF4882329F007C0FE +:1010E0008D3011F0833219F4C0931802E9CF682FC4 +:1010F0008DE192E00E94CC1AE3CFCF9108951F9228 +:101100000F920FB60F9211242F933F934F935F933B +:101110006F937F938F939F93AF93BF93EF93FF93BF +:10112000E091F803F091F9030995FF91EF91BF91D8 +:10113000AF919F918F917F916F915F914F913F916F +:101140002F910F900FBE0F901F9018950895FC01DE +:10115000E85FFE4F1082B39610827B971082319623 +:10116000118210827B962FEF2083FC012083AC013B +:1011700020E030E0FA01E15EFE4F11821082FC01B6 +:10118000E20FF31F14822F5F3F4F4E5F5F4F2630F9 +:10119000310581F7FC01E55FFE4F1082339626E9A9 +:1011A00030E0318320833D964DEC5CEC6CE47EE3D3 +:1011B00040835183628373837297108233961082C7 +:1011C0003196108233971082089580E090E0089560 +:1011D000CF93DF93FC01E55DFE4FD081C0E07D97AA +:1011E000CD17C1F0DC01A15EBE4F2D913C91AB014A +:1011F000421B530B9A0157FF03C0319521953109CA +:101200000296408151814217530714F08C2F03C07E +:10121000CF5FE6CF8FEFDF91CF910895FC0114826D +:1012200015821682178210861186411104C0DC01D6 +:10123000A85FBE4F4C91641780F4DF01A60FB11D6B +:101240001A968C91DF01A80FB11D14968C911497FA +:101250008F5F14968C936F5FEECF08952F923F921D +:101260004F925F926F927F928F929F92AF92BF92B6 +:10127000CF92DF92EF92FF920F931F93CF93DF9362 +:10128000CDB7DEB72E970FB6F894DEBF0FBECDBF39 +:101290009E878D8740E060E00E940E09ED85FE8507 +:1012A000E55DFE4F5080712C2D853E85255E3E4FBD +:1012B0003A8729878D859E85885F9E4F9C878B877F +:1012C000751409F4C3C044244394470C642C272CA0 +:1012D000312CC101880F991FAD85BE858A0F9B1FD8 +:1012E000FC01E15EFE4FFA83E9832A0E3B1EF4E027 +:1012F0002F0E311C29813A8138872F83651409F418 +:10130000A3C0862D90E09C838B83880F991F9E83BA +:101310008D83FC01AD85BE85EA0FFB1FE15EFE4FAC +:1013200000811181C80117FF04C088279927801BFD +:10133000910BBC01882777FD8095982F0E947E1C19 +:10134000E985FA8520813181428153810E94321DD5 +:101350004B015C01A981BA81CD90DC907801EC1839 +:10136000FD08F7FE03C0F194E194F10820E030E0BD +:1013700040E05FE3C501B4010E94321D9B01AC0156 +:10138000C501B4010E94E71B0E944B1C6E157F052E +:101390000CF458C0EB85FC85208180E090E082173A +:1013A00050F4ED85FE85E80FF91F3285361101C036 +:1013B00072860196F4CFD1014C91552747FD509587 +:1013C000EB81FC812D853E85E20FF31FE481FF2731 +:1013D000E7FDF0959A012E0F3F1F21153105E1F42D +:1013E000C49EC001C59E900DD49E900D1124B901DC +:1013F0000E94B51D7B010E9FC0010F9F900D1E9F87 +:10140000900D1124B9010E94B51DE60EF71EAF81A3 +:10141000B885ED92FC920CC00C0D1D1D17FF02C08B +:101420000F5F1F4F15950795E981FA81118300839E +:10143000ED81FE812D853E85E20FF31FE15EFE4FBB +:101440001182108263945ACF742C3ACF2E960FB625 +:10145000F894DEBF0FBECDBFDF91CF911F910F91EA +:10146000FF90EF90DF90CF90BF90AF909F908F90C4 +:101470007F906F905F904F903F902F9008953F9294 +:101480004F925F926F927F928F929F92AF92BF9294 +:10149000CF92DF92EF92FF920F931F93CF93DF9340 +:1014A000EC018FEF8883FE01E55DFE4F30806E0119 +:1014B00000E010E0EE24EA94FE2C4E0188EF881A3A +:1014C0008EEF980A031508F06AC0F601E15EFE4F40 +:1014D0005F01FFEFEF16FF0639F5F501808191817D +:1014E00097FD22C0FE01E00FF11F6481772767FDA1 +:1014F0007095872F972F0E947E1C2B013C01F401D1 +:10150000608170E080E090E00E947E1C2BE734E177 +:101510004EE25EE30E94321D9B01AC01C301B201A9 +:101520000E942E1D1816A4F1F5012081318137FD8E +:1015300030C0C701880F991F8C0F9D1FFC01E15E11 +:10154000FE4F80819181281739071CF5FE01E00FBD +:10155000F11F6481772767FD7095872F972F0E9471 +:101560007E1C2B013C01F401608170E080E090E082 +:101570000E947E1C2BE734E14EE25EE30E94321DA6 +:101580009B01AC01C301B2010E942E1D18160CF480 +:1015900078010F5F1F4FF2E0CF0ED11C93CF8FEF7A +:1015A000E816F80641F0E882CF5EDE4F81E090E079 +:1015B0009983888301C080E0DF91CF911F910F91C3 +:1015C000FF90EF90DF90CF90BF90AF909F908F9063 +:1015D0007F906F905F904F903F9008958F929F9271 +:1015E000AF92BF92CF92DF92EF92FF920F931F9331 +:1015F000CF93DF93FC018C010F5E1E4FD8018D91BC +:101600009C911197019709F07CC05A96BC90BA94AE +:10161000C7E0AC2E6F01B8EFCB1ABEEFDB0AB7FC08 +:1016200070C02B2D332727FD3095C901880F991FD6 +:101630008E0F9F1FDC01A15EBE4FCD91DC91D7FFC5 +:101640005EC0D195C195D109C83682E4D80708F0AB +:1016500056C0E080FF24E7FCF094C701880F991F73 +:101660008E0F9F1FDC01A15EBE4F8D909C90CE011E +:10167000B4010E94A11D6832710508F040C0A89C09 +:10168000C001A99C900D11248C179D07C0F5DF01A6 +:10169000A20FB31F14968C9186308CF5D6014C9115 +:1016A00050E0BA0161507109912C892D90E08617A4 +:1016B000970784F4DF01A80FB91F1B96CC911B97E5 +:1016C000D0E0C217D307C9F41A96AC91B0E0AE15BA +:1016D000BF0599F4485251098417950784F4DF0136 +:1016E000A45DBE4FBC9282E090E0D8018D939C93A4 +:1016F000E75FFE4F908281E009C09394D6CFBA9401 +:101700008ECFE45DFE4F8FEF808380E0DF91CF913D +:101710001F910F91FF90EF90DF90CF90BF90AF900F +:101720009F908F9008950F931F93CF93DF938A011B +:10173000E9018EE394E00E941A18B8018EE394E068 +:101740000E941A18BE018EE394E0DF91CF911F91A1 +:101750000F910C941A18EF92FF920F931F93CF934F +:10176000DF93EC01F62EE42EB9018EE394E00E94A3 +:101770001A18EF1460F0FE01EF0DF11D4AE050E081 +:1017800062858EE394E00E943919F394F2CFB80198 +:101790008EE394E00E941A1880E0DF91CF911F91B0 +:1017A0000F91FF90EF90089570E0FC0126A1332780 +:1017B00027FD30956217730751F027A1332727FDC6 +:1017C000309581E06217730719F080E0089581E099 +:1017D000089570E0FC0120A5332727FD309562179E +:1017E000730751F021A5332727FD309581E062175B +:1017F000730719F080E0089581E008959F92AF92F9 +:10180000BF92CF92DF92EF92FF920F931F93CF93ED +:10181000DF9300D01F92CDB7DEB78C017B0120E3B0 +:1018200030E340E029833A834B83FC01668DF3E08B +:101830006F9FB0011124C7010E948319E114F104C4 +:1018400049F1912C83ECA82E81E0B82ECE010196AF +:101850006C01F801868D8915E8F0F80183A19816CE +:1018600020F4E90DF11D808101C08FEF1F928F934D +:10187000BF92AF92DF92CF920E94CA20B601C701F9 +:101880000E94BC1A93940F900F900F900F900F909E +:101890000F90DFCF0F900F900F90DF91CF911F919E +:1018A0000F91FF90EF90DF90CF90BF90AF909F90FF +:1018B00008950F931F93CF93DF938C01EB0160E2A8 +:1018C00070E0CE010E948319209709F468C068EC8B +:1018D00071E0CE010E94BC1AF80184A195A126A155 +:1018E000220F330B820F931FFC01E15EFE4F6081DC +:1018F0007181CE010E940B1B6BE3CE010E94CC1ABA +:101900006CEC71E0CE010E94BC1AF80184A195A193 +:1019100027A1220F330B820F931FFC01E15EFE4FC4 +:1019200060817181CE010E940B1B6BE3CE010E948E +:10193000CC1A60ED71E0CE010E94BC1AF80184A1BE +:1019400095A120A5220F330B820F931FFC01E15EAE +:10195000FE4F60817181CE010E940B1B6BE3CE01B3 +:101960000E94CC1A64ED71E0CE010E94BC1AF8010D +:1019700084A195A121A5220F330B820F931FFC0197 +:10198000E15EFE4F60817181CE010E940B1B6BE313 +:10199000CE01DF91CF911F910F910C94CC1ADF9162 +:1019A000CF911F910F9108950F931F93CF93DF93C2 +:1019B0008C01EB0167E070E0CE010E948319209753 +:1019C00099F068ED71E0CE010E94BC1AF80162A5A1 +:1019D00073A5CE010E940B1B6BE3CE01DF91CF916B +:1019E0001F910F910C94CC1ADF91CF911F910F9101 +:1019F00008954F925F926F927F928F929F92AF92D3 +:101A0000BF92CF92DF92EF92FF920F931F93CF93EB +:101A1000DF93EC010CA11DA1580185EDA81A8EEFF2 +:101A2000B80AF5018081843008F4C4C06801F8EF79 +:101A3000CF1AFEEFDF0AF601608170E080E090E0EF +:101A40000E947E1C2AE037ED43E25DE30E94321DD6 +:101A50000E94501C40E050E0912C812CEE24EA942E +:101A6000FE2C262F30E0F5018081481708F06BC06E +:101A7000642F70E0F801E60FF71FE4818E2F99279D +:101A800087FD9095821793070CF45BC0660F771F54 +:101A9000600F711FDB01A15EBE4F6D917C91161628 +:101AA00017064CF55E0F8394E60EF71EEFA1EF3F8D +:101AB00069F08E2F880F990B800F911FDC01A15EBA +:101AC000BE4F8D919C91861797070CF4E42FEFA3DE +:101AD000E9A5EF3F69F08E2F880F990B800F911FBA +:101AE000DC01A15EBE4F8D919C91681779070CF4C3 +:101AF000E42FE9A726C05E1B9394EEA1EF3F69F0A7 +:101B00008E2F880F990B800F911FDC01A15EBE4FB5 +:101B10008D919C91681779070CF4E42FEEA3E8A54A +:101B2000EF3F69F08E2F880F990B800F911FDC011A +:101B3000A15EBE4F8D919C91861797070CF4E42F00 +:101B4000E8A74F5F90CF652F70E080E090E00E94A3 +:101B50007E1C2B013C01F601608170E080E090E08A +:101B60000E947E1C2AE037ED43EA5CE30E94321DAE +:101B70009B01AC01C301B2010E942E1D1816D4F0C6 +:101B8000981018C0C70163E070E00E94B51D7BA7E4 +:101B90006AA79EA19F3F71F088A58F3F59F09817C3 +:101BA00049F02FA12F3F31F099A59F3F19F081E017 +:101BB000291301C080E0DF91CF911F910F91FF9019 +:101BC000EF90DF90CF90BF90AF909F908F907F90DD +:101BD0006F905F904F900895FC0183A12E2FDF013D +:101BE0009A2F921B981710F41D92FACF168E178E0B +:101BF00087E082A3089524E1FC0124A70C94EC0D56 +:101C00007F928F929F92AF92BF92CF92DF92EF928C +:101C1000FF920F931F93CF93DF93EC018CA19DA1B3 +:101C2000FC01E45FFE4F108233971082812CBB24AD +:101C3000B39437E0A32E0CA11DA1F801E85FFE4F7D +:101C40008081881608F0A3C08DA5811110C0F8010D +:101C5000E80DF11DF2846F2DCE010E94D40B81118D +:101C6000DFC06F2DCE010E94E90B8111D9C0CDA438 +:101C70000CA11DA1CC2079F18EA581112CC0C80129 +:101C8000885F9E4F7C01F801E80DF11DD2846D2D17 +:101C9000CE010E94D40B811105C0F7018081881606 +:101CA00008F4C8C0282DF70180818816A0F4C80167 +:101CB0008D0D911D8D0D911DFC01E15EFE4F9180FA +:101CC000991C9924991CF801E75FFE4F8080281920 +:101CD00009F0ACC0BEA68EA5882309F456C0CC205E +:101CE00009F453C0E82CF12C6801CE0CDF1CF6017E +:101CF0007284672DCE010E94D40B882311F09B249F +:101D00001CC0672DCE010E94E90B782E882309F4B0 +:101D100093C0F801E85FFE4F208130E02150310987 +:101D2000E216F3060CF088C0F6016385CE010E942E +:101D3000E90B882309F480C083944E8D8BA148174A +:101D400020F55AA1852F90E0292D332727FD3095C6 +:101D5000052E01C0220F0A94EAF7FE01E40FF11DDF +:101D60003081322B30832F8D2F5F2F8F28A1821B44 +:101D7000910997FD03C0521B5AA307C0AAA24F5F47 +:101D80004E8FFE01E40FF11D1082839454CF881210 +:101D90003AC0D801A75FBE4F4C91423058F12F8D09 +:101DA00030E08CA587FD8F5F8595992787FD9095FD +:101DB0008217930744F5841A80828CA19DA1FC01AF +:101DC000E85FFE4F408150E04F5F5F4F319660818A +:101DD00070E0665F7F4F680F791F0A960E9430207F +:101DE0008CA19DA1FC01E45FFE4F21E02083BD9604 +:101DF000208314C0411107C0D801A75CBE4F81E009 +:101E00008C9310820BC04F8D50E02CA5332727FDFB +:101E1000309581E0421753070CF071C080E06FC02D +:101E2000F801E75FFE4F8082BDA621CF20FF52CF91 +:101E3000839450CF839427CF4F8D50E02CA5332728 +:101E400027FD309542175307CCF4772089F0F8012D +:101E5000E85FFE4F808190E00197E816F90644F4B0 +:101E6000F6016385CE010E94E90B882309F442C084 +:101E70001DA61EA6CE010E94EC0D5FCFF801E65F05 +:101E8000FE4F80828CA19DA1FC01E85FFE4FDC012A +:101E9000A65FBE4F20818C91281B20838CA19DA121 +:101EA000FC01E85FFE4F408150E04F5F5F4F32968C +:101EB000608170E0665F7F4F680F791F0A960E940D +:101EC00030200CA11DA1F801E45FFE4FFF24F39424 +:101ED000F08234978081F801E80FF11D6285CE0110 +:101EE0000E94E90B882309F48ECFF801E75CFE4FCE +:101EF000F08294CFF801E75FFE4F8080B9CFDF9189 +:101F0000CF911F910F91FF90EF90DF90CF90BF90F6 +:101F1000AF909F908F907F9008953F924F925F92E5 +:101F20006F927F928F929F92AF92BF92CF92DF92E9 +:101F3000EF92FF920F931F93CF93DF9300D000D0C7 +:101F400000D0CDB7DEB77C015C0187ECA81A8EEF1C +:101F5000B80AF5018081811105C0F197808188322E +:101F600008F4A5C2C7010E942E0940E060E0C70145 +:101F70000E940E09C7010E943F0AC7010E94EE0A93 +:101F8000F7018381882309F427C1EF5EFE4F80812A +:101F90009181029709F020C14701F7EF8F1AFEEFF8 +:101FA0009F0AF40160815701F6EFAF1AFEEFBF0AF6 +:101FB00082E0860FF50180838701085F1E4FF801DC +:101FC0007081872F90E00197D701A45DBE4FF50186 +:101FD000D0802D2D30E0281739070CF5F701E20FDE +:101FE000F31F438550E02C91332727FD309542178E +:101FF000530781F4428550E0F7012081332727FD04 +:1020000030954217530731F4DA94F501D082DD247C +:10201000D39406C0D394D394F501D082D8CFD12CD9 +:10202000F5018081781708F47083F5014081C701BC +:102030000E940E09DD2051F0F501808190E0F4014D +:102040002081821B9109889734F4C2C0F801408135 +:102050004E3F08F09EC06701F3EDCF1AFEEFDF0A96 +:1020600063E072E0C6010E94181A87010D5C1E4FE2 +:1020700063E072E0C8010E94181A62E0C6010E9483 +:10208000CC1A6BED71E0C6010E94BC1A6BE3C6016D +:102090000E94CC1A312C370185ED681A8EEF780A30 +:1020A000F3018081381640F5432C512CF701E40DE3 +:1020B000F51D84818823F1F060E5C6010E94CC1AE9 +:1020C000632DC6010E94DF1A69ED71E0C6010E940E +:1020D000BC1AC201880F991F8E0D9F1DFC01E15E85 +:1020E000FE4F60817181C6010E940B1B6BE3C6012C +:1020F0000E94CC1A3394D4CF6EED71E0C6010E94D9 +:10210000BC1A6BE3C8010E94CC1A61EE71E0C801F1 +:102110000E94BC1AF7016081772767FD7095C8019E +:102120000E940B1B6BE3C8010E94CC1A65EE71E0A4 +:10213000C8010E94BC1AF701E45DFE4F6081772759 +:1021400067FD7095C8010E940B1B6BE3C8010E94DC +:10215000CC1AF701E35FFE4F8081882349F069EED6 +:1021600071E0C8010E94BC1A6BE3C8010E94CC1A3E +:1021700063E0C8010E94CC1A6AE0C8010E94CC1A30 +:102180009601F5014081F4016081C7010E94AB0B0B +:102190003AC1F40160816230D8F0F501808190E0AD +:1021A0008D3F9105ACF0461BF801408350E04F5F36 +:1021B0005F4F70E0665F7F4F6E0D7F1DC7010A960F +:1021C0000E94302081E0F701E45FFE4F808324C14C +:1021D000C7010E94A70820C1F7018181811104C0B5 +:1021E0008281882309F414C1F701EF5EFE4F8081DC +:1021F0009181019709F00CC14701F8EF8F1AFEEFAA +:102200009F0AF4018081883208F402C16701F3ED6E +:10221000CF1AFEEFDF0A63E072E0C6010E94181ACF +:1022200087010D5C1E4F63E072E0C8010E94181A1E +:1022300062E0C6010E94CC1AF7018281882309F46A +:1022400064C080912D04811143C08EE180932004ED +:1022500081E080931D0410921E048DEF93E00E9494 +:10226000EC0D20911D0487E090E0821B9109709194 +:102270001E0467E041E050E0262F30E0821793070C +:102280004CF49A01062E01C0220F0A94EAF7722B31 +:102290006150F2CF70931E048FEF809323048093DC +:1022A0002404809325048093260410922A0410921B +:1022B0002B04F0922204E09221048DEF93E00E941F +:1022C000FB0D81E080932D0486EA98E00E94A6171A +:1022D000F5018081811107C08DEF93E00E94FB0D15 +:1022E00081E180932904F5018081882339F08DEF05 +:1022F00093E00E94000E811199C085C08DEF93E09C +:102300000E94F90C8111F3CF7EC0F70181818823EF +:1023100009F479C06BEE71E0C6010E94BC1A6BE350 +:10232000C6010E94CC1A512C5701F5EDAF1AFEEFF1 +:10233000BF0AF5018081581648F5652C712CF7010C +:10234000E60DF71D84818823F9F06CEB71E0C6017E +:102350000E94BC1A652DC6010E94DF1A69ED71E06A +:10236000C6010E94BC1AC301880F991F8E0D9F1DC4 +:10237000FC01E15EFE4F60817181C6010E940B1B72 +:102380006BE3C6010E94CC1A5394D3CF6EED71E07B +:10239000C6010E94BC1A6BE3C8010E94CC1A61EE10 +:1023A00071E0C8010E94BC1AF7016081772767FDC0 +:1023B0007095C8010E940B1B6BE3C8010E94CC1AE8 +:1023C000F701E35FFE4F8081882349F069EE71E0F9 +:1023D000C8010E94BC1A6BE3C8010E94CC1A63E0DA +:1023E000C8010E94CC1A6AE0C8010E94CC1AF4010C +:1023F00040814150960160E0C7010E94AB0BF7019C +:10240000E45FFE4F108281E0F701E55FFE4FDECE14 +:10241000F701E55FFE4F1082F701E45FFE4F808118 +:10242000811145C0C7010E94A70841C063E072E066 +:10243000CE0101960E94C0196EED71E0CE010196A9 +:102440000E94181ABE016F5F7F4F8DEF93E00E94CC +:10245000FE0B6EEE71E0C6010E94BC1A6BE3C60172 +:102460000E94CC1AB6018DEF93E00E94590C6BE3E9 +:10247000C8010E94CC1AB8018DEF93E00E94D40CE1 +:1024800063E0C8010E94CC1A6AE0C8010E94CC1A1D +:102490009801AE014F5F5F4FB601C7010E94930BD9 +:1024A000F5011082CE0101960E945219ACCF2696FA +:1024B0000FB6F894DEBF0FBECDBFDF91CF911F9155 +:1024C0000F91FF90EF90DF90CF90BF90AF909F90D3 +:1024D0008F907F906F905F904F903F9008958F9274 +:1024E0009F92AF92BF92CF92DF92EF92FF920F93A3 +:1024F0001F93CF93DF931F92CDB7DEB74C018C01B2 +:10250000085F1E4FD8018C9190E08D3F910544F0FB +:1025100081E0F401E35FFE4F8083C4010E948D0FD0 +:10252000F401E05FFE4F10826401B9EECB1ABEEFFA +:10253000DB0AD601ED91FC91119780819181129671 +:102540000D90BC91A02D2D913C91D8014C915091B2 +:102550002C047401B5EDEB1ABEEFFB0AD7016C91A8 +:10256000651708F45C93442361F082279327B92E02 +:10257000BB1CBB24BB1C81E04D3F09F480E0B822AA +:1025800005C0D7011C9210922C04B12C608171817E +:10259000C40149830E94E808A82E498187FD2CC008 +:1025A000F401E40FF11D8287423030F081858A11F9 +:1025B00003C0C4010E94A7088A2D880F990B880DBB +:1025C000991DFC01E15EFE4FD6018D919C91208109 +:1025D0003181DC018D919C91280F391F37FF02C09A +:1025E0002F5F3F4F3595279531832083F8018081F8 +:1025F0008F5F808320E012C040E060E0C4010E9451 +:102600000E09D7018C91863041F480912C04F4019D +:10261000E80FF11D8481823024F421E0B1101DC047 +:1026200001C020E0F8018081A401455F5E4F5A019E +:10263000883248F081E0DA018C93C4010E948D0F4A +:1026400010922C046AC0C40129830E94A708F501D6 +:10265000108210922C0429810BC0D8018C918832F1 +:1026600038F083E090E0F401EF5EFE4F91838083C9 +:10267000222309F452C0F801408150912C0480E0DB +:1026800090E0242F30E0F9013197280D391DBF016A +:10269000680F791F6F3FAFEF7A07E1F00197D9011B +:1026A000A80FB91F1A96AC91A513F1CFCB010196D3 +:1026B000481BD8014C9350E04F5F5F4F655F7F4FE1 +:1026C000680D791DC4010A960E943020F8018081AE +:1026D0008F5F808340912C04D601ED91FC91208185 +:1026E0003181C401840F911D840F911DFC01E15EB5 +:1026F000FE4F31832083F8018081F401E80FF11D42 +:1027000042878F5FD8018C934F5F40932C044630F3 +:1027100021F410922C04F70140830F90DF91CF91A8 +:102720001F910F91FF90EF90DF90CF90BF90AF90EF +:102730009F908F900895CF93DF93EC01C55FDE4F9C +:102740001882FC01E75EFE4F0190F081E02D2081B0 +:102750003181DC01A95EBE4F0D90BC91A02D2D935F +:102760003C93DB012D913C91318320830E946F12B9 +:102770008881DF91CF91089508958230E8F4E82FA1 +:10278000F0E0EE0FFF1FE75FFE4F71836083813043 +:1027900041F0809169008C7F842B80936900E89AD6 +:1027A000089580916900440F551F440F551F837F82 +:1027B000842B80936900E99A0895823078F48130FF +:1027C00011F0E89801C0E998E82FF0E0EE0FFF1F44 +:1027D000E75FFE4F8CEB93E19183808308951F9216 +:1027E0000F920FB60F9211242F933F934F935F9345 +:1027F0006F937F938F939F93AF93BF93EF93FF93C9 +:10280000E0910901F0910A010995FF91EF91BF91C3 +:10281000AF919F918F917F916F915F914F913F9178 +:102820002F910F900FBE0F901F9018951F920F922F +:102830000FB60F9211242F933F934F935F936F9393 +:102840007F938F939F93AF93BF93EF93FF93E09109 +:102850000B01F0910C010995FF91EF91BF91AF91A0 +:102860009F918F917F916F915F914F913F912F91A8 +:102870000F900FBE0F901F9018951F920F920FB6DA +:102880000F9211242F933F938F939F93AF93BF93F6 +:102890008091360490913704A0913804B0913904A6 +:1028A0003091350423E0230F2D3720F40196A11D2C +:1028B000B11D05C026E8230F0296A11DB11D20936E +:1028C00035048093360490933704A0933804B09372 +:1028D000390480913A0490913B04A0913C04B0915A +:1028E0003D040196A11DB11D80933A0490933B04D1 +:1028F000A0933C04B0933D04BF91AF919F918F9101 +:102900003F912F910F900FBE0F901F9018952FB7EA +:10291000F894609136047091370480913804909156 +:1029200039042FBF08953FB7F89480913A049091ED +:102930003B04A0913C04B0913D0426B5A89B05C082 +:102940002F3F19F00196A11DB11D3FBF6627782FBB +:10295000892F9A2F620F711D811D911D42E0660F14 +:10296000771F881F991F4A95D1F70895CF92DF925C +:10297000EF92FF92CF93DF936B017C010E9493143F +:10298000EB01C114D104E104F10489F00E94E51BBC +:102990000E9493146C1B7D0B683E734090F381E0A2 +:1029A000C81AD108E108F108C851DC4FEACFDF911D +:1029B000CF91FF90EF90DF90CF90089582309105F6 +:1029C00038F0880F991F880F991F05970197F1F725 +:1029D0000895789484B5826084BD84B5816084BD97 +:1029E00085B5826085BD85B5816085BDEEE6F0E088 +:1029F000808181608083E1E8F0E0108280818260E4 +:102A00008083808181608083E0E8F0E08081816064 +:102A10008083E1EBF0E0808184608083E0EBF0E094 +:102A2000808181608083EAE7F0E080818460808338 +:102A300080818260808380818160808380818068E2 +:102A400080831092C1000895833081F028F4813092 +:102A500099F08230A1F008958730A9F08830B9F05C +:102A60008430D1F4809180008F7D03C080918000FC +:102A70008F7780938000089584B58F7702C084B5E6 +:102A80008F7D84BD08958091B0008F7703C08091C1 +:102A9000B0008F7D8093B0000895CF93DF9390E0D6 +:102AA000FC01E555FF4F2491FC01E154FF4F849157 +:102AB000882349F190E0880F991FFC01E352FF4FF2 +:102AC000A591B4918D529F4FFC01C591D4919FB7B0 +:102AD000611108C0F8948C91209582238C93888191 +:102AE00082230AC0623051F4F8948C91322F3095D1 +:102AF00083238C938881822B888304C0F8948C91E3 +:102B0000822B8C939FBFDF91CF9108950F931F93DA +:102B1000CF93DF931F92CDB7DEB7282F30E0F901B6 +:102B2000E956FF4F8491F901E555FF4F1491F901E2 +:102B3000E154FF4F04910023C9F0882321F06983F9 +:102B40000E9424156981E02FF0E0EE0FFF1FED5287 +:102B5000FF4FA591B4919FB7F8948C91611103C078 +:102B60001095812301C0812B8C939FBF0F90DF9123 +:102B7000CF911F910F910895FC01818D228D90E0DE +:102B8000805C9F4F821B91098F7399270895FC01E8 +:102B9000918D828D981731F0828DE80FF11D858D12 +:102BA00090E008958FEF9FEF0895FC01918D828D45 +:102BB000981761F0828DDF01A80FB11D5D968C9191 +:102BC000928D9F5F9F73928F90E008958FEF9FEF9C +:102BD000089589E597E1892B49F08EE598E0892BE6 +:102BE00029F00E94591781110C945E080895FC0188 +:102BF000848DDF01A80FB11DA35ABF4F2C91848D86 +:102C000090E001968F739927848FA689B7892C93BA +:102C1000A089B1898C9180648C93938D848D981355 +:102C200006C00288F389E02D80818F7D808308951E +:102C3000CF93DF93EC01888D8823C9F0EA89FB8963 +:102C4000808185FD05C0A889B9898C9186FD0FC05A +:102C50000FB607FCF5CF808185FFF2CFA889B9892F +:102C60008C9185FFEDCFCE010E94F715E7CFDF9164 +:102C7000CF910895CF92DF92FF920F931F93CF933E +:102C8000DF931F92CDB7DEB76C0181E0D601589675 +:102C90008C9358975B969C915B975C968C915C9714 +:102CA000981307C05096ED91FC915197808185FD56 +:102CB0002EC0F601038D10E00F5F1F4F0F73112719 +:102CC000F02EF601848DF81211C00FB607FCF9CF73 +:102CD000D6015096ED91FC915197808185FFF1CFFF +:102CE000C60169830E94F7156981EBCF838DE80FD8 +:102CF000F11DE35AFF4F6083D6015B960C935B97FF +:102D00005296ED91FC915397808180620CC0D60160 +:102D10005696ED91FC91579760835096ED91FC91FA +:102D2000519780818064808381E090E00F90DF91F3 +:102D3000CF911F910F91FF90DF90CF900895BF9298 +:102D4000CF92DF92EF92FF92CF93DF93EC016A0173 +:102D50007B01B22EE889F98982E08083411581EEFA +:102D6000580761057105A1F060E079E08DE390E01E +:102D7000A70196010E94C91D21503109410951093D +:102D80005695479537952795211580E1380798F096 +:102D9000E889F989108260E874E88EE190E0A70183 +:102DA00096010E94C91D21503109410951095695CA +:102DB000479537952795EC85FD853083EE85FF8512 +:102DC0002083188EEC89FD89B082EA89FB89808195 +:102DD00080618083EA89FB89808188608083EA89B9 +:102DE000FB89808180688083EA89FB8980818F7D6F +:102DF0008083DF91CF91FF90EF90DF90CF90BF90D5 +:102E000008951F920F920FB60F9211242F938F9354 +:102E10009F93EF93FF93E0914E04F0914F048081D4 +:102E2000E0915404F091550482FD12C0908180918C +:102E300057048F5F8F7320915804821751F0E091EF +:102E40005704F0E0E25CFB4F958F8093570401C07C +:102E50008081FF91EF919F918F912F910F900FBEE5 +:102E60000F901F9018951F920F920FB60F9211247A +:102E70002F933F934F935F936F937F938F939F9382 +:102E8000AF93BF93EF93FF938EE394E00E94F71507 +:102E9000FF91EF91BF91AF919F918F917F916F9132 +:102EA0005F914F913F912F910F900FBE0F901F9008 +:102EB00018958EE394E00E94BC1521E0892B09F45B +:102EC00020E0822F0895109241041092400488EE71 +:102ED00093E0A0E0B0E08093420490934304A09379 +:102EE0004404B093450485EF91E090933F048093B0 +:102EF0003E0485EC90E090934B0480934A0484EC6C +:102F000090E090934D0480934C0480EC90E090937B +:102F10004F0480934E0481EC90E090935104809391 +:102F2000500482EC90E0909353048093520486EC1A +:102F300090E090935504809354041092570410929B +:102F400058041092590410925A04089580E090E0B9 +:102F5000089508950E94E9140E94A9170E94C507C8 +:102F6000C9EED5E10E9456072097E1F30E94E915CA +:102F7000F9CFCF92DF92EF92FF920F931F93CF93EF +:102F8000DF937C016A01EB0100E010E00C151D05E8 +:102F900071F06991D701ED91FC910190F081E02DE4 +:102FA000C7010995892B19F00F5F1F4FEFCFC8019B +:102FB000DF91CF911F910F91FF90EF90DF90CF9015 +:102FC00008956115710581F0DB010D900020E9F78E +:102FD000AD0141505109461B570BDC01ED91FC91AD +:102FE0000280F381E02D099480E090E00895EF9253 +:102FF000FF920F931F93CF93DF938C017B01C0E06F +:10300000D0E0F701EC0FFD1F6491662359F0F80141 +:10301000A081B181ED91FC91C8010995892B11F036 +:103020002196EFCFCE01DF91CF911F910F91FF90AD +:10303000EF900895DC01ED91FC91DB0114964D9128 +:103040005C9115976D917C910280F381E02D09943C +:10305000DC01ED91FC910190F081E02D099461E09B +:1030600072E00C94E1170F931F93CF93DF93EC0161 +:103070000E94F7178C01CE010E942F18800F911F1C +:10308000DF91CF911F910F9108950F931F93CF93CD +:10309000DF93EC010E941A188C01CE010E942F18B8 +:1030A000800F911FDF91CF911F910F9108950F9382 +:1030B0001F93CF93DF93EC010E94E1178C01CE01A7 +:1030C0000E942F18800F911FDF91CF911F910F91B8 +:1030D00008958F929F92AF92BF92CF92DF92EF921C +:1030E000FF920F931F93CF93DF93CDB7DEB7A197D6 +:1030F0000FB6F894DEBF0FBECDBF7C01C42EE52F06 +:10310000CB01D22E19A221E02D1510F02AE0D22EEB +:103110008E010F5D1F4F8D2C912CA12CB12C6C2D8D +:103120007E2FA50194010E94C91D8C2DD29E80196D +:103130001124015011098A3014F4805D01C0895CAA +:10314000F8018083211531054105510521F0C22E7A +:10315000E32FCA01E4CFB801C7010E94E117A1968D +:103160000FB6F894DEBF0FBECDBFDF91CF911F9198 +:103170000F91FF90EF90DF90CF90BF90AF909F9016 +:103180008F900895CF92DF92EF92FF920F931F934B +:10319000CF93DF93EC016A017B012115310579F4AE +:1031A000E881F9810190F081E02D642FDF91CF91CA +:1031B0001F910F91FF90EF90DF90CF9009942A30EC +:1031C0003105E9F477FF1AC06DE20E9428188C01DE +:1031D00044275527BA014C195D096E097F092AE079 +:1031E000CE010E946918800F911FDF91CF911F912E +:1031F0000F91FF90EF90DF90CF9008952AE0B701F4 +:10320000A601CE01DF91CF911F910F91FF90EF901A +:10321000DF90CF900C9469189A01AB01662757FD97 +:103220006095762F0C94C2180F931F93CF93DF9362 +:10323000EC019A01AB01662757FD6095762F0E943D +:10324000C2188C01CE010E942F18800F911FDF91B0 +:10325000CF911F910F9108952115310541F4DC01A3 +:10326000ED91FC910190F081E02D642F09940C9474 +:1032700069189A01462F50E060E070E00C942C1918 +:103280000F931F93CF93DF93EC010E942C198C01B5 +:10329000CE010E942F18800F911FDF91CF911F91B7 +:1032A0000F910895FC01808191810C94891ECF9328 +:1032B000DF93EC0188819981009711F00E94891EAB +:1032C000198218821D821C821B821A82DF91CF9183 +:1032D00008950F931F93CF93DF93EC018B016F5FE2 +:1032E0007F4F888199810E94181F009731F0998340 +:1032F00088831B830A8381E001C080E0DF91CF9146 +:103300001F910F910895CF93DF93EC0188819981EC +:10331000892B29F08A819B818617970760F4CE015B +:103320000E946919882341F08C819D81892B19F4B1 +:10333000E881F981108281E0DF91CF910895EF92C9 +:10334000FF920F931F93CF93DF93EC017B018A01D0 +:10335000BA010E948319811104C0CE010E9457193D +:1033600007C01D830C83B701888199810E94422088 +:10337000CE01DF91CF911F910F91FF90EF900895B3 +:10338000FC0111821082138212821582148261154F +:10339000710559F0FB0101900020E9F7AF014150A0 +:1033A0005109461B570B0C949F1908950F931F93B7 +:1033B000CF93DF938C01EB01FC0180819181009719 +:1033C00099F0428153812C813D814217530750F07F +:1033D000688179810E9442208C819D81F8019583CA +:1033E000848313C00E94891E88819981F80191838A +:1033F00080838A819B81938382838C819D81958345 +:103400008483198218821B821A821D821C82DF919A +:10341000CF911F910F910895CF93DF93EC01861701 +:10342000970711F00E94D619CE01DF91CF91089530 +:10343000CF93DF93EC016115710561F0FB01019001 +:103440000020E9F7AF0141505109461B570B0E947C +:103450009F1902C00E945719CE01DF91CF910895A4 +:103460000F931F93CF93DF93CDB7DEB729970FB696 +:10347000F894DEBF0FBECDBF8C01862FF8011182FC +:103480001082138212821582148250E0BE016F5F97 +:103490007F4F90E00E94A520BE016F5F7F4FC80163 +:1034A0000E94181A29960FB6F894DEBF0FBECDBF42 +:1034B000DF91CF911F910F9108950F931F93CF9399 +:1034C000DF93CDB7DEB762970FB6F894DEBF0FBEBD +:1034D000CDBF8C01CB01F8011182108213821282C0 +:1034E0001582148250E0BE016F5F7F4F0E947220F0 +:1034F000BE016F5F7F4FC8010E94181A62960FB617 +:10350000F894DEBF0FBECDBFDF91CF911F910F9119 +:103510000895EF92FF920F931F93CF93DF93EC01E7 +:103520007B010C811D816115710511F480E016C0CD +:103530004115510591F0040F151FB8010E94831920 +:103540008823A1F3288139818C819D81B701820F65 +:10355000931F0E9442201D830C8381E0DF91CF9155 +:103560001F910F91FF90EF900895FB0144815581C9 +:10357000608171810C94891A6115710559F0FB0104 +:1035800001900020E9F7AF0141505109461B570B4C +:103590000C94891A80E00895CF93DF9300D0CDB7C3 +:1035A000DEB769831A8241E050E0BE016F5F7F4F52 +:1035B0000E94891A0F900F90DF91CF910895EF929A +:1035C000FF920F931F93CF93DF9300D000D0CDB71E +:1035D000DEB77C01862F4AE08E010F5F1F4FB801D6 +:1035E00090E00E947D20F80101900020E9F7AF01F2 +:1035F00041505109401B510BB801C7010E94891A63 +:103600000F900F900F900F90DF91CF911F910F911E +:10361000FF90EF900895EF92FF920F931F93CF9337 +:10362000DF93CDB7DEB728970FB6F894DEBF0FBE95 +:10363000CDBF7C01CB014AE08E010F5F1F4FB80167 +:103640000E947D20F80101900020E9F7AF01415070 +:103650005109401B510BB801C7010E94891A2896D5 +:103660000FB6F894DEBF0FBECDBFDF91CF911F9193 +:103670000F91FF90EF900895FC012481358162172E +:10368000730748F480819181009729F0FC01E60FCF +:10369000F71F8081089580E008950C943C1B0F93E0 +:1036A0001F93CF93DF93EB0141155105E9F020976C +:1036B000D9F0FC016481758126173707A0F4621BDD +:1036C000730B8A01015011096017710708F48B010F +:1036D000FC0160817181620F731FA801CE010E94FD +:1036E0004920C00FD11F1882DF91CF911F910F91F8 +:1036F0000895CF93DF93FC01848195814817590782 +:1037000078F4C081D181FB0160817181CE01840F89 +:10371000951F0E945820009719F08C1B9D0B02C02A +:103720008FEF9FEFDF91CF910895BF92CF92DF92FD +:10373000EF92FF920F931F93CF93DF936C017B0166 +:10374000EA0189012417350720F48D2FE901042FA0 +:10375000182F63E072E0C6010E94C019D7011496C9 +:103760008D919C911597C817D907C8F480179107B8 +:1037700008F48C01D701ED91FC911197E00FF11F36 +:10378000B08010826D917C916C0F7D1FC6010E94EC +:10379000181AD701ED91FC91E00FF11FB082C6011C +:1037A000DF91CF911F910F91FF90EF90DF90CF901D +:1037B000BF900895FC0180819181009711F00C94D5 +:1037C000002060E070E0CB01089508955058BB27B9 +:1037D000AA270ED009C1FAD030F0FFD020F031F482 +:1037E0009F3F11F41EF4EFC00EF4E095E7FBE5C037 +:1037F000E92F0BD180F3BA17620773078407950787 +:1038000018F071F49EF523C10EF4E0950B2EBA2F3B +:10381000A02D0B01B90190010C01CA01A0011124D6 +:10382000FF27591B99F0593F50F4503E68F11A1682 +:10383000F040A22F232F342F4427585FF3CF469513 +:1038400037952795A795F0405395C9F77EF41F1635 +:10385000BA0B620B730B840BBAF09150A1F0FF0FFF +:10386000BB1F661F771F881FC2F70EC0BA0F621FEB +:10387000731F841F48F4879577956795B795F795DB +:103880009E3F08F0B3CF9395880F08F09927EE0F6D +:1038900097958795089504D06894B111D9C008957B +:1038A000BCD088F09F5790F0B92F9927B751A0F05E +:1038B000D1F0660F771F881F991F1AF0BA95C9F7C4 +:1038C00012C0B13081F0C3D0B1E00895C0C0672FFD +:1038D000782F8827B85F39F0B93FCCF38695779574 +:1038E0006795B395D9F73EF490958095709561955D +:1038F0007F4F8F4F9F4F0895E89409C097FB3EF488 +:1039000090958095709561957F4F8F4F9F4F99232C +:10391000A9F0F92F96E9BB279395F69587957795AA +:103920006795B795F111F8CFFAF4BB0F11F460FF6A +:103930001BC06F5F7F4F8F4F9F4F16C0882311F0C2 +:1039400096E911C0772321F09EE8872F762F05C0D6 +:10395000662371F096E8862F70E060E02AF09A9571 +:10396000660F771F881FDAF7880F9695879597F966 +:103970000895990F0008550FAA0BE0E8FEEF161600 +:103980001706E807F907C0F012161306E407F50753 +:1039900098F0621B730B840B950B39F40A2661F0C7 +:1039A000232B242B252B21F408950A2609F4A1406A +:1039B000A6958FEF811D811D089597F99F6780E877 +:1039C00070E060E008959FEF80EC089500240A9471 +:1039D0001616170618060906089500240A941216EA +:1039E0001306140605060895092E0394000C11F41D +:1039F000882352F0BB0F40F4BF2B11F460FF04C0CA +:103A00006F5F7F4F8F4F9F4F089557FD9058440F22 +:103A1000551F59F05F3F71F04795880F97FB991F2D +:103A200061F09F3F79F087950895121613061406EA +:103A3000551FF2CF4695F1DF08C016161706180677 +:103A4000991FF1CF86957105610508940895E89452 +:103A5000BB2766277727CB0197F908958ADF08F4FB +:103A60008FEF08950BD0C0CFB1DF28F0B6DF18F08C +:103A7000952309F0A2CFA7CF1124EACFC6DFA0F388 +:103A8000959FD1F3950F50E0551F629FF001729FF3 +:103A9000BB27F00DB11D639FAA27F00DB11DAA1F12 +:103AA000649F6627B00DA11D661F829F2227B00D5F +:103AB000A11D621F739FB00DA11D621F839FA00DEA +:103AC000611D221F749F3327A00D611D231F849F3A +:103AD000600D211D822F762F6A2F11249F57504091 +:103AE0008AF0E1F088234AF0EE0FFF1FBB1F661F2C +:103AF000771F881F91505040A9F79E3F510570F0E5 +:103B00005CCFA6CF5F3FECF3983EDCF386957795CC +:103B10006795B795F795E7959F5FC1F7FE2B880FDF +:103B2000911D9695879597F90895991B79E004C0A2 +:103B3000991F961708F0961B881F7A95C9F78095EC +:103B40000895AA1BBB1B51E107C0AA1FBB1FA617E4 +:103B5000B70710F0A61BB70B881F991F5A95A9F736 +:103B600080959095BC01CD01089597FB072E16F422 +:103B7000009407D077FD09D00E94A11D07FC05D055 +:103B80003EF4909581959F4F0895709561957F4F74 +:103B90000895A1E21A2EAA1BBB1BFD010DC0AA1F8E +:103BA000BB1FEE1FFF1FA217B307E407F50720F0A6 +:103BB000A21BB30BE40BF50B661F771F881F991F21 +:103BC0001A9469F760957095809590959B01AC016A +:103BD000BD01CF010895EE0FFF1F0590F491E02D78 +:103BE0000994CF93DF938230910510F482E090E046 +:103BF000E091DD04F091DE0420E030E0A0E0B0E0F0 +:103C0000309739F14081518148175907B8F048176A +:103C1000590771F482819381109729F013969C9330 +:103C20008E9312972CC09093DE048093DD0427C0FE +:103C30002115310531F04217530718F0A901DB01B6 +:103C400001C0EF019A01BD01DF010280F381E02D87 +:103C5000D7CF21153105F9F0281B390B2430310558 +:103C600080F48A819B816115710521F0FB019383AA +:103C7000828304C09093DE048093DD04FE013296BB +:103C800044C0FE01E20FF31F81939193225031094A +:103C9000398328833AC02091DB043091DC04232B44 +:103CA00041F420910201309103013093DC04209310 +:103CB000DB0420910001309101012115310541F40F +:103CC0002DB73EB74091040150910501241B350BDF +:103CD000E091DB04F091DC04E217F307A0F42E1B63 +:103CE0003F0B2817390778F0AC014E5F5F4F241760 +:103CF000350748F04E0F5F1F5093DC044093DB0400 +:103D00008193919302C0E0E0F0E0CF01DF91CF9189 +:103D10000895CF93DF93009709F487C0FC01329791 +:103D200013821282C091DD04D091DE04209781F4C9 +:103D300020813181280F391F8091DB049091DC04B0 +:103D40008217930779F5F093DC04E093DB046DC0F0 +:103D5000DE0120E030E0AE17BF0750F412964D911F +:103D60005C9113979D014115510509F1DA01F3CFDB +:103D7000B383A28340815181840F951F8A179B07CB +:103D800071F48D919C911197840F951F02969183E8 +:103D9000808312968D919C91139793838283211532 +:103DA000310529F4F093DE04E093DD043EC0D9012F +:103DB0001396FC93EE9312974D915D91A40FB51F4E +:103DC000EA17FB0779F480819181840F951F029691 +:103DD000D90111969C938E938281938113969C9323 +:103DE0008E931297E0E0F0E08A819B81009719F0B2 +:103DF000FE01EC01F9CFCE01029628813981820FB4 +:103E0000931F2091DB043091DC042817390769F4F3 +:103E1000309729F41092DE041092DD0402C0138260 +:103E20001282D093DC04C093DB04DF91CF9108951C +:103E3000A0E0B0E0EEE1FFE10C948E23EC01CB01B9 +:103E4000209719F40E94F11DB8C0FE01E60FF71F7C +:103E50009E0122503109E217F30708F4ACC0D901E2 +:103E60000D911C91119706171707B8F00530110531 +:103E700008F49FC0A801445051094617570708F499 +:103E800098C002501109061B170B019311936D93F3 +:103E90007C93CF010E94891E8CC05B01A01AB10ADD +:103EA0004E01800E911EA091DD04B091DE04612CC4 +:103EB000712C60E070E0109709F449C0A815B905AD +:103EC000C9F5ED90FC901197670142E0C40ED11C3A +:103ED000CA14DB0478F147018A189B08640142E0A8 +:103EE000C40ED11C1296BC9012971396AC91B5E0FB +:103EF000CB16D10440F0B282A38391828082D90193 +:103F00008D939C9309C00E5F1F4F0E0D1F1DF9016D +:103F100011830083EB2DFA2F6115710531F0DB0160 +:103F20001396FC93EE93129744C0F093DE04E09353 +:103F3000DD043FC06D917C9111976616770608F4F9 +:103F40003B01BD0112960D90BC91A02DB4CF6091A4 +:103F5000DB047091DC0468157905E9F468167906CC +:103F6000D0F440910001509101014115510541F4F7 +:103F70004DB75EB76091040170910501461B570B68 +:103F8000E417F507C0F4F093DC04E093DB04F901D7 +:103F9000918380830EC00E94F11D7C01009759F02F +:103FA000A801BE010E942720CE010E94891EC701E0 +:103FB00004C0CE0102C080E090E0CDB7DEB7EEE0F5 +:103FC0000C94AA23FC0188279927E8942191203298 +:103FD000E9F3293010F02E30C8F32B3241F02D32A6 +:103FE00039F4689404C00E949D20820F911D219194 +:103FF00020532A30C0F31EF4909581959F4F089569 +:104000001F93FC0199278827BC01E8941191103275 +:10401000E9F3193010F01E30C8F31B3251F01D3295 +:1040200049F4689406C00E948820610F711D811DAB +:10403000911D119110531A30B0F33EF49095809574 +:10404000709561957F4F8F4F9F4F1F910895FB0192 +:10405000DC0102C001900D9241505040D8F7089504 +:104060006817790768F4FB01DC01E40FF51FA40F62 +:10407000B51F02C002900E9241505040D8F70895EB +:104080000C942720FB01DC0101900D920020E1F748 +:104090000895FB01DC014150504048F001900D9221 +:1040A0000020C9F701C01D9241505040E0F708952B +:1040B000FB0151915523A9F0BF01DC014D9145173A +:1040C0004111E1F759F4CD010190002049F04D91E3 +:1040D00040154111C9F3FB014111EFCF81E090E0A0 +:1040E000019708954532510520F4423010F00C94A8 +:1040F0007D20FB011082CB010895BB274A3031F4AB +:10410000992322F4BDE2909581959F4F0C94B120A4 +:10411000592F482F372F262F660F771F881F991F7B +:10412000660F771F881F991F620F731F841F951FCB +:10413000660F771F881F991F08957AE0979F902D2B +:10414000879F802D910D112408954532510520F44B +:10415000423010F00C94B020FB011082CB01089586 +:10416000BB27FB015527AA27880F991FAA1FA41751 +:1041700010F0A41B83955051B9F7A05DAA3308F045 +:10418000A95DA193009779F7B111B1931192CB0179 +:104190000C94EA22AEE0B0E0E0EDF0E20C9498235B +:1041A0000D891E8986E08C831A8309838FEF9FE730 +:1041B0009E838D83AE01475E5F4F6F89788DCE0100 +:1041C00001960E94EC20EF81F885E00FF11F10822C +:1041D0002E96E4E00C94B423ACE0B0E0E2EFF0E221 +:1041E0000C948A237C016B018A01FC0117821682E0 +:1041F000838181FFBDC1CE0101964C01F7019381FE +:10420000F60193FD859193FF81916F01882309F455 +:10421000ABC1853239F493FD859193FF81916F0194 +:10422000853229F4B70190E00E94FA22E7CF512CA1 +:10423000312C20E02032A0F48B3269F030F480324F +:1042400059F0833269F420612CC08D3239F080330B +:1042500039F4216026C02260246023C0286021C078 +:1042600027FD27C030ED380F3A3078F426FF06C01E +:10427000FAE05F9E300D1124532E13C08AE0389E61 +:10428000300D1124332E20620CC08E3221F426FD15 +:104290006BC1206406C08C3611F4206802C08836D9 +:1042A00041F4F60193FD859193FF81916F01811196 +:1042B000C1CF982F9F7D9554933028F40C5F1F4FEA +:1042C000FFE3F9830DC0833631F0833771F0833516 +:1042D00009F05BC022C0F801808189830E5F1F4F07 +:1042E00044244394512C540115C03801F2E06F0E60 +:1042F000711CF801A080B18026FF03C0652D70E01D +:1043000002C06FEF7FEFC5012C870E94DF222C01D6 +:1043100083012C852F77222E17C03801F2E06F0E13 +:10432000711CF801A080B18026FF03C0652D70E0EC +:1043300002C06FEF7FEFC5012C870E94D4222C01B1 +:104340002C852068222E830123FC1BC0832D90E046 +:1043500048165906B0F4B70180E290E00E94FA22B4 +:104360003A94F4CFF50127FC859127FE81915F01F6 +:10437000B70190E00E94FA2231103A94F1E04F1A0E +:1043800051084114510471F7E5C0843611F08936A3 +:1043900039F5F80127FF07C060817181828193811F +:1043A0000C5F1F4F08C060817181882777FD809561 +:1043B000982F0E5F1F4F2F76B22E97FF09C0909552 +:1043C0008095709561957F4F8F4F9F4F2068B22EDB +:1043D0002AE030E0A4010E942C23A82EA81844C093 +:1043E000853729F42F7EB22E2AE030E025C0F22F47 +:1043F000F97FBF2E8F36C1F018F4883579F0B4C03C +:10440000803719F0883721F0AFC02F2F2061B22EEE +:10441000B4FE0DC08B2D8460B82E09C024FF0AC0E5 +:104420009F2F9660B92E06C028E030E005C020E13D +:1044300030E002C020E132E0F801B7FE07C0608141 +:104440007181828193810C5F1F4F06C060817181F1 +:1044500080E090E00E5F1F4FA4010E942C23A82E45 +:10446000A818FB2DFF77BF2EB6FE0BC02B2D2E7F7D +:10447000A51450F4B4FE0AC0B2FC08C02B2D2E7E49 +:1044800005C07A2C2B2D03C07A2C01C0752C24FF7B +:104490000DC0FE01EA0DF11D8081803311F4297EEB +:1044A00009C022FF06C07394739404C0822F8678DB +:1044B00009F0739423FD13C020FF06C05A2C731417 +:1044C00018F4530C5718732C731468F4B70180E276 +:1044D00090E02C870E94FA2273942C85F5CF7314F8 +:1044E00010F4371801C0312C24FF12C0B70180E34B +:1044F00090E02C870E94FA222C8522FF17C021FF12 +:1045000003C088E590E002C088E790E0B7010CC0E6 +:10451000822F867859F021FD02C080E201C08BE233 +:1045200027FD8DE2B70190E00E94FA22A51438F42D +:10453000B70180E390E00E94FA225A94F7CFAA9440 +:10454000F401EA0DF11D8081B70190E00E94FA228A +:10455000A110F5CF332009F451CEB70180E290E0ED +:104560000E94FA223A94F6CFF7018681978102C021 +:104570008FEF9FEF2C96E2E10C94A623F999FECFE2 +:1045800092BD81BDF89A992780B50895262FF99993 +:10459000FECF1FBA92BD81BD20BD0FB6F894FA9A26 +:1045A000F99A0FBE01960895FC0105906150704084 +:1045B0000110D8F7809590958E0F9F1F0895FC01EC +:1045C0006150704001900110D8F7809590958E0F42 +:1045D0009F1F0895DC01FC01672F71917723E1F79C +:1045E000329704C07C916D9370836291AE17BF07C0 +:1045F000C8F308950F931F93CF93DF93182F092FBC +:10460000EB018B8181FD03C08FEF9FEF20C082FF04 +:1046100010C04E815F812C813D81421753077CF48D +:10462000E881F9819F012F5F3F4F398328831083F1 +:1046300006C0E885F985812F0995892B29F72E81F8 +:104640003F812F5F3F4F3F832E83812F902FDF913C +:10465000CF911F910F910895FA01AA27283051F1A7 +:10466000203181F1E8946F936E7F6E5F7F4F8F4FA3 +:104670009F4FAF4FB1E03ED0B4E03CD0670F781F02 +:10468000891F9A1FA11D680F791F8A1F911DA11DE7 +:104690006A0F711D811D911DA11D20D009F4689420 +:1046A0003F912AE0269F11243019305D3193DEF6C8 +:1046B000CF010895462F4770405D4193B3E00FD07E +:1046C000C9F7F6CF462F4F70405D4A3318F0495D69 +:1046D00031FD4052419302D0A9F7EACFB4E0A6954C +:1046E0009795879577956795BA95C9F7009761056E +:1046F000710508959B01AC010A2E069457954795C4 +:1047000037952795BA95C9F7620F731F841F951FB8 +:10471000A01D08952F923F924F925F926F927F92C9 +:104720008F929F92AF92BF92CF92DF92EF92FF92C1 +:104730000F931F93CF93DF93CDB7DEB7CA1BDB0B6D +:104740000FB6F894DEBF0FBECDBF09942A88398812 +:1047500048885F846E847D848C849B84AA84B98419 +:10476000C884DF80EE80FD800C811B81AA81B98125 +:10477000CE0FD11D0FB6F894DEBF0FBECDBFED0139 +:10478000089510E0CCEED0E004C0FE010E94ED1DC3 +:0C4790002296CE3ED107C9F7F894FFCF67 +:10479C000000DF0480002C0106BC13BC133B004955 +:1047AC0054506172616D733A20004F4B00562033A8 +:1047BC002E322E30205349474E414C6475696E6F32 +:1047CC00202D20636F6D70696C65642061742046C8 +:1047DC00656220323220323031362032313A303775 +:1047EC003A31390053796E633A2000202D3E205324 +:1047FC00796E63466163743A20002C20436C6F63BE +:10480C006B3A20002C20546F6C3A20002C20506105 +:10481C0074744C656E3A20002C2050756C73653A9C +:10482C0020002C20002C206D53746172743A2000EF +:10483C005369676E616C3A20002E2000205B005D8E +:10484C00005061747465726E3A20002050002A5B2F +:10485C00002C0025303258004C4C3D004C483D009B +:10486C00534C3D0053483D00433D004D5300443DE7 +:10487C000043503D0053503D004F004D55004D43FB +:10488C0000000000003A16B917BC15D515C715184D +:10489C00160D0A006E616E00696E66006F7666001A +:0248AC002E00DC :00000001FF diff --git a/fhem/FHEM/firmware/SIGNALduino_promini328.hex b/fhem/FHEM/firmware/SIGNALduino_promini328.hex index 7cc2cfe53..d96c2f589 100644 --- a/fhem/FHEM/firmware/SIGNALduino_promini328.hex +++ b/fhem/FHEM/firmware/SIGNALduino_promini328.hex @@ -1,1213 +1,1165 @@ -:100000000C946B000C94F51D0C94221E0C94930020 -:100010000C9493000C9493000C9493000C94930014 -:100020000C9493000C9493000C9493000C94930004 -:100030000C9493000C94F2120C9493000C94930083 -:100040000C944F1E0C9493000C94A7190C94F51962 -:100050000C9493000C9493000C9493000C949300D4 -:100060000C9493000C94930020557365206F6E657B -:10007000206F66200000000000240027002A0000F6 -:10008000000000250028002B0000000000230026AF -:10009000002900040404040404040402020202020D -:1000A000020303030303030102040810204080013C -:1000B00002040810200102040810200000000700BC -:1000C0000201000003040600000000000000000020 -:1000D0005613611B4F1311241FBECFEFD8E0DEBFB4 -:1000E000CDBF12E0A0E0B1E0E6E5FAE402C0059081 -:1000F0000D92A835B107D9F715E0A8E5B2E001C027 -:100100001D92A835B107E1F710E0C4EDD0E004C0BE -:100110002297FE010E94E324C03DD107C9F70E9447 -:10012000B71B0C941E250C9400000F931F93CF93C4 -:10013000DF93689F8001699F100D789F100D112437 -:10014000C8010E94B100EC01009729F060E070E066 -:10015000A8010E94ED02CE01DF91CF911F910F9176 -:100160000895CF93DF93BC018230910510F462E0D3 -:1001700070E0A0915605B0915705ED01E0E0F0E088 -:1001800040E050E021C0888199818617970769F483 -:100190008A819B81309719F09383828304C0909366 -:1001A000570580935605FE0134C06817790738F467 -:1001B0004115510519F08417950708F4AC01FE01AB -:1001C0008A819B819C01E9012097E9F6411551053F -:1001D000A9F1CA01861B970B049708F4BA01E0E065 -:1001E000F0E02AC08D919C91119784179507F9F43E -:1001F0006417750781F412968D919C91139730972F -:1002000019F09383828304C0909357058093560519 -:10021000FD0132964CC0CA01861B970BFD01E80F09 -:10022000F91F6193719302978D939C9340C0FD01D8 -:10023000828193819C01D9011097A1F68091540588 -:1002400090915505892B41F48091140290911502EB -:1002500090935505809354054091160250911702D2 -:100260004115510541F44DB75EB78091120290914E -:100270001302481B590B2091540530915505CA01B2 -:10028000821B930B8617970780F0AB014E5F5F4F81 -:100290008417950750F0420F531F50935505409314 -:1002A0005405F9016193719302C0E0E0F0E0CF01E1 -:1002B000DF91CF910895CF93DF93009709F450C059 -:1002C000EC0122971B821A82A0915605B091570526 -:1002D000109709F140E050E0AC17BD0708F1BB836F -:1002E000AA83FE0121913191E20FF31FAE17BF07E0 -:1002F00079F48D919C911197280F391F2E5F3F4FF4 -:100300003983288312968D919C9113979B838A83BE -:100310004115510571F4D0935705C093560520C07F -:1003200012968D919C911397AD01009711F0DC010D -:10033000D3CFFA01D383C28321913191E20FF31F0E -:10034000CE17DF0769F488819981280F391F2E5F46 -:100350003F4FFA01318320838A819B81938382837B -:10036000DF91CF910895A0E0B0E0E9EBF1E00C94CB -:10037000E9246C01009729F4CB010E94B1006C01C3 -:10038000C1C08EEF882E8FEF982E8C0C9D1C86019D -:10039000060F171F0815190508F4B2C0F401A08153 -:1003A000B181A617B707B8F0A530B10508F4AAC007 -:1003B000CD0104978617970708F4A4C01297A61BCF -:1003C000B70BF801A193B193D4016D937C93CF0146 -:1003D0000E945B0197C07B01EA1AFB0AEEEFFFEF78 -:1003E000EE0EFF1E36016A0E7B1EC0915605D0919F -:1003F000570544245524AA24BB244AC0C615D70552 -:10040000E1F5488159814E155F05B8F1CA0104979D -:100410008E159F05B0F41296A40FB51FF401B18399 -:10042000A0832A813B814114510431F0D2011396FB -:100430003C932E93129766C0309357052093560530 -:1004400061C08A819B81F80193838283425050402E -:100450004E195F09518340834114510431F0D20198 -:1004600013961C930E93129704C010935705009394 -:100470005605F4017183608345C088819981A8166F -:10048000B90608F45C012E018A819B819C01E90177 -:10049000209709F0B3CF80915405909155058615AA -:1004A0009705E9F4A616B706D0F42091160230910C -:1004B00017022115310541F42DB73EB78091120284 -:1004C00090911302281B390B02171307C8F41093DD -:1004D000550500935405D4016D937C9313C0CB0153 -:1004E0000E94B100EC01009759F0F4014081518164 -:1004F000B6010E94D202C6010E945B016E0102C0D9 -:10050000CC24DD24C601CDB7DEB7E0E10C9405258F -:10051000FC0188279927E89421912032E9F32930BA -:1005200010F02E30C8F32B3241F02D3239F468949C -:1005300004C00E949703820F911D219120532A30FD -:10054000C0F31EF4909581959F4F08951F93FC0171 -:1005500099278827BC01E89411911032E9F31930EA -:1005600010F01E30C8F31B3251F01D3249F468946C -:1005700006C00E948203610F711D811D911D1191A2 -:1005800010531A30B0F33EF49095809570956195B4 -:100590007F4F8F4F9F4F1F91089548E552E00E9473 -:1005A0002F030895FB01DC0102C001900D92415020 -:1005B0005040D8F708956817790768F4FB01DC010B -:1005C000E40FF51FA40FB51F02C002900E92415018 -:1005D0005040D8F708950C94D202DC0101C06D930D -:1005E00041505040E0F70895FC018191861721F0B9 -:1005F0008823D9F7992708953197CF010895FB01F2 -:10060000DC0101900D920020E1F70895FB01DC016F -:100610004150504048F001900D920020C9F701C0B0 -:100620001D9241505040E0F70895FB015191552330 -:10063000A9F0BF01DC014D9145174111E1F759F4D3 -:10064000CD010190002049F04D9140154111C9F3B1 -:10065000FB014111EFCF81E090E0019708950097F1 -:1006600031F4DA018D919C91009709F40EC0DC0100 -:10067000FB013D912191222319F03217C9F3FACFE2 -:10068000332331F4DA011D921C92882799270895AB -:100690001197AF93BF93FB013D912191321771F4F4 -:1006A000332321F488279927119702C01E921196AF -:1006B000FA01A193B0839F918F910895222369F746 -:1006C000EACFFB019F01E8944230C4F04532B4F414 -:1006D0004A3029F497FB1EF4909581959F4F642F23 -:1006E00077270E949824805D8A330CF0895D81937E -:1006F000CB010097A1F716F45DE251931082C90176 -:100700000C94CC05592F482F372F262F660F771FB3 -:10071000881F991F660F771F881F991F620F731F0D -:10072000841F951F660F771F881F991F08957AE011 -:10073000979F902D879F802D910D11240895FB0187 -:100740009F01423074F0453264F4642F77270E9491 -:100750009824805D8A330CF0895D8193CB010097EA -:10076000A1F71082C9010C94CC05AEE0B0E0EBEB30 -:10077000F3E00C94F5240D891E8986E08C831A839E -:1007800009838FEF9FE79E838D839E01275E3F4FF6 -:10079000CE0101966F89788DA9010E94D9032F811E -:1007A0003885020F131FF80110822E96E4E00C9496 -:1007B0001125ABE0B0E0EFEDF3E00C94E7243C0151 -:1007C0002B015A01FC0117821682838181FD03C02F -:1007D0006FEF7FEFC6C19AE0892E1E010894211C9D -:1007E000311CF3012381F20123FD859123FF8191C7 -:1007F0002F01882309F4B2C1853239F423FD859194 -:1008000023FF81912F01853229F490E0B3010E94EA -:10081000DC05E7CF982FFF24EE249924FFE1FF1594 -:10082000D0F09B3269F09C3228F4903259F0933228 -:1008300091F40EC09D3249F0903369F441E024C038 -:1008400052E0F52A84E0F82A28C098E0F92A25C069 -:10085000E0E1FE2A22C0F7FC29C0892F80538A30AC -:1008600070F4F6FE05C0989C902C1124980E15C0CB -:10087000E89CE02C1124E80EF0E2FF2A0EC09E3224 -:1008800029F4F6FC6BC140E4F42A07C09C3619F445 -:1008900050E8F52A02C0983649F4F20123FD9591FB -:1008A00023FF91912F01992309F0B8CF892F855407 -:1008B000833018F08052833038F444E050E0A40EC6 -:1008C000B51E5FE359830FC0933631F0933779F04B -:1008D000933509F056C020C0F5018081898342E03C -:1008E00050E0A40EB51E610101E010E012C0F50158 -:1008F000C080D180F6FC03C06FEF7FEF02C0692D8E -:1009000070E042E050E0A40EB51EC6010E94C10591 -:100910008C015FE7F52214C0F501C080D180F6FCA0 -:1009200003C06FEF7FEF02C0692D70E042E050E03E -:10093000A40EB51EC6010E94B6058C0150E8F52A2A -:10094000F3FE07C01AC080E290E0B3010E94DC050C -:10095000EA948E2D90E008171907A8F30EC0F6014F -:10096000F7FC8591F7FE81916F0190E0B3010E9441 -:10097000DC05E110EA94015010400115110579F7EA -:10098000EAC0943611F0993669F5F7FE08C0F50112 -:10099000208131814281538184E090E00AC0F501D9 -:1009A000808191819C01442737FD4095542F82E03E -:1009B00090E0A80EB91E9FE6F92257FF09C0509596 -:1009C0004095309521953F4F4F4F5F4FE0E8FE2A0D -:1009D000CA01B901A1012AE030E00E940806D82E20 -:1009E000D21840C0953729F41F2D1F7E2AE030E031 -:1009F0001DC01F2D197F9F3661F0903720F4983568 -:100A000009F0ACC00FC0903739F0983709F0A6C094 -:100A100004C028E030E00AC0106114FD146020E139 -:100A200030E004C014FD166020E132E017FF08C07A -:100A3000F501608171818281938144E050E008C0BA -:100A4000F50180819181BC0180E090E042E050E0BE -:100A5000A40EB51EA1010E940806D82ED2188FE759 -:100A6000F82EF122F6FE0BC05EEFF522D91438F411 -:100A7000F4FE07C0F2FC05C08FEEF82202C01D2D67 -:100A800001C0192DF4FE0DC0FE01ED0DF11D808198 -:100A9000803319F499EEF92208C01F5FF2FE05C0F9 -:100AA00003C08F2D867809F01F5F0F2DF3FC14C053 -:100AB000F0FE0FC01E1510F09D2C0BC09D2C9E0C3F -:100AC000911A1E2D06C080E290E0B3010E94DC0561 -:100AD0001F5F1E15C0F304C01E1510F4E11A01C0FB -:100AE000EE2404FF0FC080E390E0B3010E94DC0518 -:100AF00002FF1DC001FD03C088E790E00EC088E53D -:100B000090E00BC0802F867891F001FF02C08BE24D -:100B100001C080E2F7FC8DE290E0B3010E94DC05A9 -:100B200006C080E390E0B3010E94DC059A94D914DA -:100B3000C0F3DA94F101ED0DF11D808190E0B30175 -:100B40000E94DC05DD20A9F706C080E290E0B30139 -:100B50000E94DC05EA94EE20C1F743CEF3016681E2 -:100B60007781CB012B96E2E10C940325FC010590E3 -:100B7000615070400110D8F7809590958E0F9F1F9F -:100B80000895FC016150704001900110D8F78095E4 -:100B900090958E0F9F1F0895DC01FC01672F7191C6 -:100BA0007723E1F7329704C07C916D937083629153 -:100BB000AE17BF07C8F308950F931F93CF93DF932A -:100BC0008C01EB018B8181FF1BC082FF0DC02E8148 -:100BD0003F818C819D812817390764F4E881F98170 -:100BE0000193F983E88306C0E885F985802F09958C -:100BF000892B31F48E819F8101969F838E8302C061 -:100C00000FEF1FEFC801DF91CF911F910F91089552 -:100C1000FA01AA27283051F1203181F1E8946F932D -:100C20006E7F6E5F7F4F8F4F9F4FAF4FB1E03ED0D3 -:100C3000B4E03CD0670F781F891F9A1FA11D680F71 -:100C4000791F8A1F911DA11D6A0F711D811D911DA4 -:100C5000A11D20D009F468943F912AE0269F112419 -:100C60003019305D3193DEF6CF010895462F47707D -:100C7000405D4193B3E00FD0C9F7F6CF462F4F70D8 -:100C8000405D4A3318F0495D31FD4052419302D036 -:100C9000A9F7EACFB4E0A6959795879577956795DC -:100CA000BA95C9F700976105710508959B01AC01DC -:100CB0000A2E06945795479537952795BA95C9F703 -:100CC000620F731F841F951FA01D0895DC011296EB -:100CD0002C91129717968C9117972817D8F5ED91AC -:100CE000FC911197E20FF11D862F992787FD9095B2 -:100CF00016960C90169702C0880F991F0A94E2F777 -:100D00002081282B208313968C9113978F5F139645 -:100D10008C93139716962C91169714963C911497D2 -:100D2000822F90E0831B910997FD04C0231B169628 -:100D30002C93089587E016968C93169712968C91B3 -:100D400012978F5F12968C931297ED91FC91E80F9A -:100D5000F11D10820895FC018781681710F08FEF54 -:100D600008950190F081E02DE60FF11D8081089536 -:100D7000DC0190E007C0ED91FC911197E90FF11DA6 -:100D800010829F5F17968C9117979817A0F3129671 -:100D90001C92129713961C92139787E016968C93C9 -:100DA0000895FC01808191810E945B010895CF9399 -:100DB000DF93EC01842F6C831D824F8390E061E010 -:100DC00070E00E94950088839983CE010E94B80646 -:100DD00047E0E7E0F0E061E070E00BC0CB0102C06B -:100DE000880F991F2A95E2F79C018D81822B8D83B4 -:100DF0004150242F30E08C81DF01A81BB109A217DC -:100E0000B30764F3DF91CF910895FC0112A2A1858D -:100E1000B2850384F485E02D208131818D919C91F0 -:100E20001197918380832D933C93DB018D919C914D -:100E3000918380830895BF92CF92DF92EF92FF92C9 -:100E40000F931F93CF93DF93EC018B01B9A040E088 -:100E500021E0C22ED12C2DC0F901EE0FFF1FE00FB3 -:100E6000F11FD901AE0DBF1DAC19BD09AA0FBB1FE3 -:100E7000AC0FBD1F0190F081E02D53968D919C9198 -:100E80005497E81BF90BF7FF03C0F095E195FF4F6E -:100E90008D859E858E179F075CF02617370711F406 -:100EA000842F11C05F5F252F30E062177307A4F60F -:100EB0004F5F4B1538F4F8016081718151E0E42EE9 -:100EC000FF24F1CF8FEFDF91CF911F910F91FF9012 -:100ED000EF90DF90CF90BF90089508950895089502 -:100EE000FC018381948108952F923F924F925F92EB -:100EF0006F927F929F92AF92BF92CF92DF92EF92CA -:100F0000FF920F931F93DF93CF9300D000D0CDB704 -:100F1000DEB79C838B83DC0113968D919C91149793 -:100F2000019709F0A0C091962C9191972150822FA2 -:100F3000992787FD9095885E9E4F5D01A80EB91E8A -:100F4000885191408C01000F111F0D5E1F4F0A0F39 -:100F50001B1F922ECC24DD249A838983F5E12F2E4A -:100F6000F1E03F2E2A0E3B1EE5E24E2E512C4A0E9A -:100F70005B1E77C069807A806C0C7D1CF801208133 -:100F80003181121613060CF463C0EE24FF24E21A1A -:100F9000F30AF9E6EF16F2E4FF06ACF0AB81BC8190 -:100FA0001296EC911297FF27E7FDF095EE0FFF1FC9 -:100FB000EA0FFB1F63897489C7010E94AC24683261 -:100FC00071050CF045C0EB81FC818281482F5527CB -:100FD00047FD5095FA01EE0FFF1F8B819C81E80FB2 -:100FE000F91F838994892827392737FF31C033E0D7 -:100FF000880F991F3A95E1F7E816F9064CF1D501EB -:101000008C91873028F5F1016081F20130E00CC04D -:10101000818190E08615970529F4808190E08417FE -:10102000950721F03F5F3196361790F3361781F020 -:10103000AB81BC8193969C92939782E090E014964A -:101040009C938E931397A25EBE4F3C9381E010C099 -:101050009A940894A108B1080894C108D1080250D4 -:10106000104097FE87CF8FEFEB81FC8183A380E058 -:101070000F900F900F900F90CF91DF911F910F91D4 -:10108000FF90EF90DF90CF90BF90AF909F907F90B8 -:101090006F905F904F903F902F9008956F927F9246 -:1010A0008F929F92AF92BF92CF92DF92EF92FF9278 -:1010B0000F931F93CF93DF93EC018FEF8A8389A067 -:1010C000AA24AA94BA2C992475E1672E71E0772E90 -:1010D0006C0E7D1E74C08FEFA8168FEFB80689F5D1 -:1010E000C92CDD24F601EE0FFF1FEC0FFD1F8389D5 -:1010F000948997FD26C0FE01EC0DFD1DE85EFE4FB4 -:10110000608170E0882777FD8095982F0E94622388 -:101110007B018C01F301608170E0882777FD809569 -:10112000982F0E9462232BE734E14EE25EE30E9497 -:1011300016249B01AC01C801B7010E9412241816A5 -:10114000E4F1C92CDD24F601EE0FFF1FEC0FFD1FAB -:101150002389348937FD30C0F501EE0FFF1FEC0FF6 -:10116000FD1F838994892817390734F5FE01EC0D9A -:10117000FD1DE85EFE4F608170E0882777FD809559 -:10118000982F0E9462237B018C01F301608170E043 -:10119000882777FD8095982F0E9462232BE734E102 -:1011A0004EE25EE30E9416249B01AC01C801B70128 -:1011B0000E94122418160CF065019394560198149D -:1011C00008F489CFFFEFAF16FFEFBF0611F480E000 -:1011D00006C0AA8281E090E09C838B8381E0DF914E -:1011E000CF911F910F91FF90EF90DF90CF90BF9024 -:1011F000AF909F908F907F906F900895DC01A85ED4 -:10120000BE4F1D921D921D921D921D921C92AD51BA -:10121000B140442399F4AB5EBE4F4C91A551B1400F -:101220000DC0FD01E60FF11D85A1FD01E80FF11DC7 -:10123000E85EFE4F80818F5F80836F5F641788F365 -:1012400008952F923F924F925F926F927F928F926A -:101250009F92AF92BF92CF92DF92EF92FF920F9345 -:101260001F93DF93CF9300D00F92CDB7DEB76C0101 -:1012700060E040E00E94FE08442405E1202E01E0E9 -:10128000302E2C0C3D1CF7C0242D2F5F2983522EAD -:10129000842D90E05C01AA0CBB1CAC0CBD1C43E18E -:1012A00050E0A40EB51E3601680E791E88E191E06B -:1012B000680E791ED9C0852C9924F401EE0FFF1F0A -:1012C000EC0DFD1DA389B489BB83AA839D01B7FFE3 -:1012D00003C0309521953F4FB901882777FD809550 -:1012E000982F0E946223F60127853089418952890F -:1012F0000E9416247B018C01D5018D919C91EA817D -:10130000FB81E81BF90BFB83EA83F7FF05C0F0952F -:10131000E195FF4FFB83EA83C801B70120E030E08D -:1013200040E05FE30E9416249B01AC01C801B701B5 -:101330000E94CB220E942F232A813B8162177307D0 -:101340000CF491C090E008C0F601E90FF11D85A1F1 -:10135000851509F445A29F5FD1018C919817A0F3E0 -:10136000F3018081E82EFF24F601E80DF91DE85E07 -:10137000FE4F8081282F30E0A9014E0D5F1D5B8359 -:101380004A83F401EE0FFF1F452B29F5EC0DFD1DDF -:1013900083899489DC012A9FC0012B9F900D3A9F7D -:1013A000900D112460E070E00E94AC249B01F501D7 -:1013B00080819181AC01E49EC001E59E900DF49E78 -:1013C000900D112460E070E00E94AC24260F371FBE -:1013D0003183208310C0EC0DFD1D83899489D501D4 -:1013E0002D913C91820F931F62E070E00E94AC242B -:1013F000F50171836083F601E80DF91DE85EFE4F8B -:10140000208130E08401000F111F0C0D1D1DD8013B -:1014100053968D919C915497FC012E9FC0012F9F54 -:10142000900D3E9F900D11246A817B810E94AC2417 -:10143000FB01D3018C9190E0D5012D913C91AC0141 -:10144000429FC001439F900D529F900D11246A81CD -:101450007B810E94AC24E60FF71FD501ED93FC932E -:10146000F801148A138A5394D60191968C915816D8 -:1014700008F421CF4980F60181A1481608F404CF71 -:101480000F900F900F90CF91DF911F910F91FF90D0 -:10149000EF90DF90CF90BF90AF909F908F907F9014 -:1014A0006F905F904F903F902F900895CF93DF9370 -:1014B000EC010E942109CE0160E040E00E94FE089C -:1014C000CB5EDE4F8881C551D140883230F0CE01ED -:1014D0000E944E08CE010E947407DF91CF910895BB -:1014E000DC01ED91FC910190F081E02D09950895CA -:1014F0008F929F92AF92BF92CF92DF92EF92FF9224 -:101500000F931F93CF93DF936C01DC011296ED9143 -:10151000FC91139781A1843008F4E2C0EB5EFE4F8A -:10152000608170E0882777FD8095982F0E94622364 -:1015300029E23CE54FE05EE30E9416240E9434233A -:10154000762FAA24AA94BA2C8824992460E030E04B -:1015500079C0A32FB0E0FE01EA0FFB1FE85EFE4F4B -:10156000E080E71608F46DC0AA0FBB1FAC0FBD1FCB -:1015700053964D915C91549714161506A4F5F601F7 -:1015800025812F3F69F0822F992787FD9095880F3D -:10159000991FC80FD91F8B899C89841795070CF454 -:1015A000232FD60115962C93159717962C911797E4 -:1015B0002F3F89F01296ED91FC911397822F992776 -:1015C00087FD9095880F991FE80FF91F83899489EB -:1015D000481759070CF4232F6E0D8394A40EB51EE3 -:1015E000F60127832EC0D60114962C912F3F69F067 -:1015F000822F992787FD9095880F991FC80FD91FB3 -:101600008B899C89481759070CF4232FF6012483F2 -:1016100026812F3F81F00280F381E02D822F9927D0 -:1016200087FD9095880F991FE80FF91F838994898A -:10163000841795070CF4232F6E199394D6011696F0 -:101640002C933F5FF601C281D38189A1381708F43A -:1016500080CF70E0882777FD8095982F0E946223C5 -:101660007B018C01CB5EDE4F688170E0882777FDBF -:101670008095982F0E9462232AE037ED43EA5CE3CD -:101680000E9416249B01AC01C801B7010E941224DC -:10169000181634F1981421F5C50163E070E00E943A -:1016A000AC24D60119967C936E93189714969C914E -:1016B00014979F3FA9F016968C9116978F3F81F053 -:1016C000981771F015962C9115972F3F49F01796A2 -:1016D0009C919F3F29F080E0291719F081E001C01B -:1016E00080E0DF91CF911F910F91FF90EF90DF90FD -:1016F000CF90BF90AF909F908F9008958F929F92C0 -:10170000AF92BF92CF92DF92EF92FF921F93DF933F -:10171000CF9300D00F92CDB7DEB76C017B01DE0115 -:101720001196E9E0F1E083E001900D928150E1F73C -:10173000D601ED91FC91628183E0689FB001112494 -:10174000C7010E94C020E114F10499F110E05E018C -:101750000894A11CB11C74E0872E71E0972E23C061 -:10176000CF01612F0E94AB0600D000D000D0EDB7B2 -:10177000FEB73196ADB7BEB71296BC92AE92119736 -:1017800093828282848315820E94B5038DB79EB7AF -:1017900006960FB6F8949EBF0FBE8DBFC701B50168 -:1017A0000E9479211F5FD601ED91FC918281811702 -:1017B000B8F60F900F900F90CF91DF911F91FF908F -:1017C000EF90DF90CF90BF90AF909F908F90089553 -:1017D000FC018FEF848385838683878384E18287FE -:1017E000808191810E94B80608950F931F938C0108 -:1017F000FC0111A2148213828FEF8283878D90A146 -:101800000E94B806F80116861586148A138A168A6D -:10181000158A108E178A128E118E148E138E168EC4 -:10182000158E1F910F910895CF93DF93EC010E94C5 -:10183000F50BCB5EDE4F1882C551D14019A21CA218 -:101840001C821B828FEF8BA38A83FE01DE01A85EC0 -:10185000BE4F80E0148A138A1D928F5F32968630C5 -:10186000C9F71AA286E990E09E878D878AE999E9EF -:10187000A9E9BEE38F87988BA98BBA8BC25EDE4F36 -:101880001882289719921882DF91CF910895EF92CC -:10189000FF920F931F938C01FC017383628388E096 -:1018A00090E00E94D71BF82EE92E61E04EE10E94E5 -:1018B000D706F801F082E182C8010E94E80B1F916F -:1018C0000F91FF90EF900895EF92FF920F931F9367 -:1018D0008C0187E392E0F8019183808388E090E0B7 -:1018E0000E94D71BF82EE92E62E041E00E94D70645 -:1018F000F801F78EE0A21086178216821582C801C1 -:10190000059692878187C80107969487838712A2DC -:10191000C8010E94F50B1F910F91FF90EF90089561 -:101920000F931F938C010E94640C8BE292E0F801EC -:10193000918380831682158210861782C8010596CE -:1019400092878187C8010796948783878FEF83A347 -:10195000C8010E94140C1F910F910895AF92BF927D -:10196000CF92DF92EF92FF920F931F938C010E9410 -:10197000900C8FE192E0F8019183808360E7A62EBE -:1019800061E0B62EA00EB11E50E0E52E51E0F52E1E -:10199000C501B7010E94C42147E7C42E41E0D42EFF -:1019A000C00ED11EC601B7010E94C421C50166E464 -:1019B00070E00E94C020C60164E170E00E94C02077 -:1019C00001591E4FF80110821F910F91FF90EF9067 -:1019D000DF90CF90BF90AF9008951F93CF93DF9388 -:1019E000EC0110E040E096C0442309F5FD01E10F51 -:1019F000F11D85A1282F30E08C81992787FD9095D6 -:101A00002817390789F08D81992787FD9095281728 -:101A1000390709F0BBC008C08F81992787FD9095D1 -:101A20002817390709F075C0A25EBE4F1C93AA8122 -:101A3000BB81412F50E0FD01E40FF51F85A1282F48 -:101A400030E08C81992787FD90952817390741F060 -:101A50008D81992787FD90952817390709F09FC038 -:101A60004881598160E0220F331FA20FB31F5396A4 -:101A70008D919C91549797FF61E0CA010E94660680 -:101A80003FC08F81992787FD90952817390709F066 -:101A900090C0AB5EBE4F8C91A551B14090E00197D4 -:101AA000481759070CF085C0FD01E40FF51F86A10A -:101AB000282F30E02617370741F08F81992787FDBF -:101AC00090952817390709F074C04881598160E062 -:101AD000220F331FA20FB31F53968D919C915497E1 -:101AE00097FF61E0CA010E9466061F5F09C08881F6 -:101AF00099810E94B806EA81FB81E25EFE4F108365 -:101B000041E007C020E0E881F98183818317C8F1B3 -:101B100037C01F5FAA81BB81FD01EB5EFE4F808154 -:101B2000181708F461CF181721F5A25EBE4F8C91EB -:101B30008230F8F0181B1083EA81FB81E25EFE4FD1 -:101B40006081EE51F14070E06B5D7F4F6E0F7F1F43 -:101B5000EB5EFE4F408150E04F5F5F4FCF01805FF3 -:101B600090400E94DB02EA81FB81EA5EFE4F81E049 -:101B7000808320E0E881F98193818A85981708F0B5 -:101B800021E0822FDF91CF911F9108958E819927B7 -:101B900087FD90952817390709F03ECF45CF8E81F4 -:101BA000682F772767FD70952617370709F069CFEB -:101BB00070CF3A85AB5EBE4F8C9190E0831B91094C -:101BC000481759070CF493CF9DCFEF92FF920F93D4 -:101BD0001F93DF93CF9300D000D0CDB7DEB78C0139 -:101BE0000B5E1E4FD8018C910551114090E08F3E45 -:101BF0009105ACF0095E1E4F81E0F801808307512A -:101C00001140D801ED91FC910680F781E02DC801CB -:101C100009950A5E1E4FF801108206511140D80145 -:101C200094961C9294971996ED91FC911A972081A5 -:101C300031811B96ED91FC911C970190F081E02D74 -:101C40000B5E1E4FD8014C910551114090915A02E4 -:101C5000D80191968C919197891710F491969C9345 -:101C60000B5E1E4FD8018C91055111408823B1F0B5 -:101C7000EE2480E090E0E227F327F7FF02C081E046 -:101C800090E020E030E04F3E11F021E030E0822390 -:101C90009323892B41F0EE24E39405C0F80111A2AF -:101CA00010925A02EE2481E090E09A8389831C828C -:101CB0001B82D8011996ED91FC911A978081918130 -:101CC0009C838B83C801BE016F5F7F4F0E941B07FF -:101CD000F82E87FD2EC00B5E1E4FF8018081055146 -:101CE0001140F801E80FF11DF5A2823030F084A117 -:101CF0008F1519F4C8010E94140CEF2DFF27E7FD82 -:101D0000F095EE0FFF1FE00FF11F8B819C8123895F -:101D10003489820F931F62E070E00E94AC24748BC0 -:101D2000638BF801EB5EFE4F80818F5F8083FF2421 -:101D300019C0C80160E040E00E94FE08D8019196F9 -:101D40008C91863069F480915A02F801E80FF11DF8 -:101D5000E85EFE4F8081823018F0EE24FF2404C03C -:101D6000FF24F394EE2009F50B5E1E4FF8018081ED -:101D700005511140883278F081E0D80192968C9319 -:101D80009297ED91FC910680F781E02DC8010995AD -:101D900010925A026FC0EE2041F4C8010E94140C48 -:101DA000F80112A210925A020DC00B5E1E4FD8010C -:101DB0008C9105511140883228F083E090E0F801C1 -:101DC00094838383FF2009F455C00B5E1E4FD80116 -:101DD0004C910551114050915A02842F90E0849605 -:101DE000F801E80FF91F20E030E0DC0195971BC0F7 -:101DF00080812F5F3F4F31978517A9F46F5F7F4F29 -:101E0000461B0B5E1E4FF8014083055111406B5D70 -:101E10007F4F600F711F50E04F5F5F4FC801859685 -:101E20000E94DB0207C0BD01621B730B8FEF6F3F87 -:101E30007807F1F620915A02E22FF0E0EE0FFF1F33 -:101E4000E00FF11F8B819C81948B838BD801AB5E5B -:101E5000BE4F8C91F801E80FF11D25A38F5F8C9385 -:101E60002F5F20935A02263029F410925A02D8018B -:101E700091962C930F900F900F900F90CF91DF9130 -:101E80001F910F91FF90EF9008950F931F93CF93A1 -:101E9000DF938C01DC0192961C92929719960D901B -:101EA000BC91A02DEC01EB85FC85208131818D91C9 -:101EB0009C911197918380832D933C93DB018D91AD -:101EC0009C9191838083C8010E94E50D8AA1DF91D6 -:101ED000CF911F910F9108950F931F93CF93DF938D -:101EE0008C01EB01CB0167E070E00E94C0202097DD -:101EF00079F0CE016EE071E00E947921F8016085F1 -:101F00007185CE010E940921CE016BE30E946621FA -:101F1000DF91CF911F910F9108950F931F93CF934E -:101F2000DF938C01EB01CB0160E270E00E94C020E6 -:101F3000209709F470C0CE0161E171E00E9479211F -:101F4000D8011296ED91FC91139714968C919927D4 -:101F500087FD9095880F991FE80FF91F6389748991 -:101F6000CE010E940921CE016BE30E946621CE01C1 -:101F700065E171E00E947921D8011296ED91FC9102 -:101F8000139715968C91992787FD9095880F991F27 -:101F9000E80FF91F63897489CE010E940921CE01DF -:101FA0006BE30E946621CE0169E171E00E94792114 -:101FB000D8011296ED91FC91139716968C91992762 -:101FC00087FD9095880F991FE80FF91F6389748921 -:101FD000CE010E940921CE016BE30E946621CE0151 -:101FE0006DE171E00E947921D8011296ED91FC918A -:101FF000139717968C91992787FD9095880F991FB5 -:10200000E80FF91F63897489CE010E940921CE016E -:102010006BE30E946621DF91CF911F910F9108958C -:10202000CF93DF93FC01C081D181209731F0CE01A5 -:102030000E94D106CE010E94D41BDF91CF9108955A -:10204000CF92DF92EF92FF920F931F937A01690173 -:1020500005E215E0C8010E94781DC801B7010E9481 -:10206000781DC801B6010E94781D1F910F91FF9045 -:10207000EF90DF90CF900895BF92CF92DF92EF92D2 -:10208000FF920F931F93CF93DF936C01F62EB42E24 -:10209000E80185E295E0B9010E94781DEE2417C0A1 -:1020A00086010F0D111D85E295E0F80165A14AE05A -:1020B00050E00E94DE1CF80185A1E82688E09CE83B -:1020C000E0FAE6940EF4E9268A95D1F7F394BF146A -:1020D00038F785E295E0BE010E94781D8E2DDF91D4 -:1020E000CF911F910F91FF90EF90DF90CF90BF9015 -:1020F00008956F927F928F929F92AF92BF92CF92EC -:10210000DF92EF92FF920F931F93DF93CF93CDB7A0 -:10211000DEB762970FB6F894DEBF0FBECDBF7C016D -:102120008C010B5E1E4FF8018081883208F445C295 -:102130007E2C6F2CC7010E94560AF701838194817F -:102140008230910509F039C12EE131E0E20EF31E33 -:10215000F701608122EE3EEFE20EF31E462F4E5F46 -:10216000F7018281C82EDD24C7FCD094D801F70185 -:10217000E40FF11D85A190E08C159D0569F426A161 -:1021800030E0F70183A1992787FD9095281739073B -:1021900019F4415011E005C04E5F8C91481738F397 -:1021A00010E025E131E0E20EF31EF70180812BEE15 -:1021B0003EEFE20EF31E842E841708F4882E872D3E -:1021C000962D482D0E94FE08112389F0882D90E05D -:1021D0004EE151E0E40EF51EF701208142EE5EEF84 -:1021E000E40EF51E821B910988974CF4E1C087012B -:1021F0000B5E1E4FF8018081803F08F0A5C040E7CC -:10220000A42E41E0B42EAE0CBF1CC50160E071E00D -:102210000E94DE2137E7C32E31E0D32ECE0CDF1C27 -:10222000C60160E071E00E94DE21C50162E00E940B -:102230006621C50161E271E00E947921C5016BE36D -:102240000E946621992426C0092D10E0F701E00FB5 -:10225000F11FE85EFE4F80818823D9F0C50160E55B -:102260000E946621C501692D0E943A21C50164E2E0 -:1022700071E00E947921000F111F0E0D1F1DF80142 -:1022800063897489C5010E940921C5016BE30E941D -:1022900066219394F70181A19816B0F2C50166E218 -:1022A00071E00E947921C6016BE30E946621C6019C -:1022B00069E271E00E947921F7016281772767FD69 -:1022C0007095C6010E940921C6016BE30E94662138 -:1022D000C6016DE271E00E947921F70163A17727C1 -:1022E00067FD7095C6010E940921C6016BE30E943B -:1022F000662127E131E0E20EF31EF701808129EE2D -:102300003EEFE20EF31E882349F0C60161E371E05F -:102310000E947921C6016BE30E946621C60163E039 -:102320000E946621C6016AE00E946621F701E25E12 -:10233000FE4FC7016081482D950186010E943C1027 -:1023400081E0F70182A321C19EE1C92E91E0D92E3F -:10235000CE0CDF1CF6018081823050F1882D90E098 -:102360008F3E91052CF185E295E063E371E00E94D8 -:10237000621DF8014081F6016081461BF80140832F -:1023800070E06B5D7F4F6E0D7F1D50E04F5F5F4FC4 -:10239000C70185960E94DB0226E131E0E20EF31EC2 -:1023A00081E0F70180832AEE3EEFE20EF31EEDC0DE -:1023B000872D962D0E94140CE8C0019709F0E3C008 -:1023C000F8018081883208F4DEC080E7A82E81E021 -:1023D000B82EAE0CBF1CC50160E071E00E94DE218A -:1023E00007E7C02E01E0D02ECE0CDF1CC60160E056 -:1023F00071E00E94DE21C50162E00E94662118E0C2 -:10240000812E912C8C0E9D1EC401B7010E94470C99 -:10241000C4010E94E80BC4010E94780A882309F4D1 -:10242000C1C0C4010E94ED0C882309F4BBC08E0119 -:102430000F5F1F4FC80160E071E00E94C421C80116 -:1024400066E271E00E94DE21C401B8010E947E0BA9 -:10245000C50168E371E00E947921C5016BE30E9428 -:102460006621C401B5010E948D0FC6016BE30E9475 -:102470006621C401B6010E946C0FC60163E00E9490 -:102480006621C6016AE00E946621C701B501A80164 -:1024900096010E942010C8010E94C4226CC0092D20 -:1024A00010E0F701E00FF11FE85EFE4F8081882306 -:1024B000E1F0C5016BE371E00E947921C501692D4E -:1024C0000E943A21C50164E271E00E947921000F67 -:1024D000111F0E0D1F1DF80163897489C5010E942B -:1024E0000921C5016BE30E9466219394F70181A144 -:1024F0009816A8F2C50166E271E00E947921C60132 -:102500006BE30E946621C60169E271E00E947921B5 -:10251000F7016281772767FD7095C6010E94092146 -:10252000C6016BE30E94662127E131E0E20EF31E53 -:10253000F701808129EE3EEFE20EF31E882349F079 -:10254000C60161E371E00E947921C6016BE30E943C -:102550006621C60163E00E946621C6016AE00E940E -:102560006621F701EB5EFE4FC70160E040819501F7 -:1025700086010E943C1081E0F70182A3CE010896FB -:102580000E94101002C0F70112A226E131E0E20E13 -:10259000F31EF7018081882381F4872D962D0E94F8 -:1025A000140C0BC0C5016DE371E00E947921C501D7 -:1025B0006BE30E946621992499CF62960FB6F89436 -:1025C000DEBF0FBECDBFCF91DF911F910F91FF9066 -:1025D000EF90DF90CF90BF90AF909F908F907F90C3 -:1025E0006F9008951F920F920FB60F9211242F93A0 -:1025F0003F934F935F936F937F938F939F93AF938B -:10260000BF93EF93FF93E0915E02F0915F02099513 -:10261000FF91EF91BF91AF919F918F917F916F91BA -:102620005F914F913F912F910F900FBE0F901F9090 -:10263000189581309105D9F46F5F7F4F79F580E56A -:102640008093600210926102809161028093630224 -:10265000809163028093620285E093E062EB71E017 -:102660000E94C4218DE093E00E94AE0C0895892B56 -:10267000A9F46F5F7F4F91F48FE192E090930E0386 -:1026800080930D0384E894E00E94C4228DE794E0D7 -:102690000E94C42285E093E00E94C422089580E055 -:1026A00090E06FEF7FEF0E941913089581E090E0B2 -:1026B0006FEF7FEF0E9419130895FF920F931F93FE -:1026C000CF93DF93F82E05E215E0C80163EB71E0CC -:1026D0000E94621DC8016F2D4AE050E00E94DE1C7E -:1026E000C8016EEB71E00E94621DCF2DD0E093E037 -:1026F000CC0FDD1F9A95E1F7FE01E15DFB4F608194 -:102700007181C8014AE050E00E94301DC80162ECAE -:1027100071E00E94621DC25DDB4F6881772767FD13 -:102720007095C8014AE050E00E94301DC80167EC76 -:1027300071E00E94651DDF91CF911F910F91FF9075 -:102740000895EF92FF920F931F93DF93CF93CDB72E -:10275000DEB762970FB6F894DEBF0FBECDBF8E0115 -:10276000075F1F4F85E093E0B8014AE050E023E0A7 -:1027700030E00E947920C80167EC71E00E94CD0230 -:102780000E948802F82EDE011196EFE3F2E088E065 -:1027900001900D928150E1F785E093E061E070E0F7 -:1027A0000E940520813421F000E010E0EE2425C0D5 -:1027B00080E090E067EC71E00E94CD020E94880208 -:1027C000E82E80E090E067EC71E00E94CD020E946C -:1027D00088028C01EB829D838C83EF2DF0E033E047 -:1027E000EE0FFF1F3A95E1F7E45DFB4FDE01119616 -:1027F00088E00D9001928150E1F785E093E061E07F -:1028000070E00E940520823599F4EB821D830C83D1 -:10281000EF2DF0E023E0EE0FFF1F2A95E1F7E45DD6 -:10282000FB4FDE01119688E00D9001928150E1F797 -:102830008F2D0E945D1380917C0490E001962F2DD6 -:1028400030E0821793071CF4F394F0927C046296B4 -:102850000FB6F894DEBF0FBECDBFCF91DF911F91B1 -:102860000F91FF90EF9008950E94971E9B01AC017D -:1028700080918B0490918C04A0918D04B0918E0472 -:10288000281739074A075B0748F480918F04909115 -:10289000900401969093900480938F0420938B046E -:1028A00030938C0440938D0450938E04CA01B90177 -:1028B00028EE33E040E050E00E94BF24C9010895B3 -:1028C0001F9311E017C085E295E00E94E81A682F77 -:1028D0008A3049F08B301CF4882329F007C08D30F2 -:1028E00011F0833219F410930C0304C085E093E0D7 -:1028F0000E94662185E295E00E94B71A892B19F79C -:102900001F910895609104038DE00E94A21F109210 -:10291000040308956F927F928F929F92AF92BF921D -:10292000DF92EF92FF920F931F93DF93CF93CDB778 -:10293000DEB72E970FB6F894DEBF0FBECDBF3C01B9 -:1029400085E093E064E40E94742062E0D62ED80E05 -:102950004E010894811C911C58E0A52EB12CAC0EA0 -:10296000BD1E3BC00894E11CF11CC50165E073E08D -:102970004D2D50E097010E945A22C5010E94272048 -:10298000162FC5010E94C422012F10E0000F111F55 -:10299000060D171D60E0F8018081918197FF61E0CD -:1029A0008BE00E94A21FF8018081918197FF03C0F4 -:1029B000909581959F4FFFE181349F075CF068EE11 -:1029C00073E00E94AC24882777FD8095982F0E94A1 -:1029D000CB1E02C00E94F11ED394ED2CFF24C40133 -:1029E00067EC71E00E94C42185E093E0B4014D2DB5 -:1029F00050E00E9438208C01C4010E94C422E016DD -:102A0000F1060CF4AFCF8BE060E00E94A21F2E967F -:102A10000FB6F894DEBF0FBECDBFCF91DF911F91EF -:102A20000F91FF90EF90DF90BF90AF909F908F90AD -:102A30007F906F900895EF92FF920F931F93082F4E -:102A4000E62E8BE061E00E94A21F10E08091190247 -:102A500090911A029C01029FC001039F900D129F4A -:102A6000900D11240E94F11E8BE060E00E94A21FD5 -:102A7000FF248091190290911A029C01E29EC001EC -:102A8000E39E900DF29E900D11240E94F11E1F9165 -:102A90000F91FF90EF90089580E00E94E21D08954D -:102AA00080E065E978E141E050E00E94BF1D0895B3 -:102AB00085E093E061E070E00E940520813511F42B -:102AC0000E944C1585E093E061E070E00E940520D3 -:102AD000853411F40E94501508952F923F924F9221 -:102AE0005F926F927F928F929F92AF92BF92CF929E -:102AF000DF92EF92FF920F931F93DF93CF93CDB7A7 -:102B0000DEB7ED970FB6F894DEBF0FBECDBF85E000 -:102B100093E061E070E00E940520823509F0EBC08F -:102B2000FE01F2968CE0DF011D928A95E9F77E01A5 -:102B30000894E11CF11CC70162EB71E00E94C42102 -:102B40008E01085F1F4FC80167EC71E00E94C4212D -:102B500085E093E0B80142E050E00E943820B82EB2 -:102B6000C8010E94C422AA2486E1282E312C2C0EF2 -:102B70003D1E67010BE2402E512C4C0E5D1E1DE1E7 -:102B8000612E712C6C0E7D1EB4E28B2E912C8C0E5E -:102B90009D1E3FC0C60162E070E00E9405208D339B -:102BA00009F097C0C301B60141E050E022E030E0F7 -:102BB0000E945A22C3010E942720162FC3010E949F -:102BC000C422C401B60143E050E00E94A122C40126 -:102BD0000E942720E12FF0E0EE0FFF1FEC0DFD1DFE -:102BE00072AB61ABC40112C0C60161E070E00E942B -:102BF00005208D3369F4C201B60142E050E00E9425 -:102C0000A122C2010E942720A62EC2010E94C42236 -:102C1000B02E0B2D112707FD109578010894E11CAB -:102C2000F11C85E093E0B7010E940520843409F48B -:102C300059C085E093E064E40E947420E816F90628 -:102C40000CF050C0CE010F9667EC71E00E94C421D9 -:102C50000E5F1F4F85E093E0BE01615F7F4FA801CB -:102C60000E943820082FCE010F960E94C422202FE8 -:102C7000332727FD3095C10165E073E0A7010E946D -:102C80005A22C601B1010E94AD22C1010E94C42294 -:102C9000C60160E070E00E9405208035D1F47ACF53 -:102CA000C7010E948A1462E070E080E090E00E9418 -:102CB000CB1E1F5F1A15A0F30E94501585E295E008 -:102CC00065E073E00E94AB1DCE0101960E94C42214 -:102CD00012C0C60160E070E00E940520823509F054 -:102CE00097CF82CF0E944C1510E072E3E72EF12CB3 -:102CF000EC0EFD1EDFCFED960FB6F894DEBF0FBED3 -:102D0000CDBFCF91DF911F910F91FF90EF90DF909A -:102D1000CF90BF90AF909F908F907F906F905F907B -:102D20004F903F902F900895EF92FF920F931F9333 -:102D3000CF93DF937C010E944C1500E010E024C08B -:102D400081E06FE10E941B15E70119C0813371F02A -:102D5000863449F0803391F481E063E00E941B15D2 -:102D600081E063E009C081E063E002C083E061E0EC -:102D70000E941B1583E061E00E941B15219688814B -:102D8000882321F70F5F1F4F8091180290E00817EA -:102D90001907B4F20E945015DF91CF911F910F9146 -:102DA000FF90EF900895EF92FF920F931F93DF93A0 -:102DB000CF93CDB7DEB7EA970FB6F894DEBF0FBE5C -:102DC000CDBF85E093E061E070E00E94052084378C -:102DD00031F185E093E061E070E00E9405208237E8 -:102DE00029F58E010C5F1F4FC80165E073E042E0DA -:102DF00050E00E94A122C8017E010894E11CF11C50 -:102E0000B70143E050E020E030E00E947920C801A3 -:102E10000E94C422C7010E9488028093180285E2A2 -:102E200095E065E073E00E94AB1D97C085E093E0FC -:102E300061E070E00E940520833731F58DE061E0AC -:102E40000E94A21F8E01055F1F4FC80165E073E05D -:102E500042E050E00E94A1222EE2E22EF12CEC0E84 -:102E6000FD1EC801B7014DE050E020E030E00E94B7 -:102E70007920C8010E94C422C7010E9494168DE0E7 -:102E800060E00E94A21FCBCF85E093E061E070E09C -:102E90000E9405208336A9F48E010E5E1F4FC801E3 -:102EA00065E073E042E050E00E94A122C8010E9468 -:102EB000272070931A0260931902C8010E94C4224D -:102EC000AECF85E093E061E070E00E94052080379E -:102ED00009F043C099E1E92EF12CEC0EFD1EC7016B -:102EE00062EB71E00E94C421C70164E170E00E94BE -:102EF000C020C70169EC71E00E94DE218E01005EF6 -:102F00001F4FC801609118024AE00E942822C701A1 -:102F1000B8010E948921C8010E94C422C70164ED42 -:102F200071E00E9479218E01095D1F4F60911902A5 -:102F300070911A02C8014AE00E94F721C701B80146 -:102F40000E948921C8010E94C42285E295E0B70150 -:102F50000E94AB1DC7010E94C422EA960FB6F894E6 -:102F6000DEBF0FBECDBFCF91DF911F910F91FF90BC -:102F7000EF900895DF93CF9300D0CDB7DEB785E013 -:102F800093E060E070E00E9405208F3309F056C0A6 -:102F900085E295E06FE30E94271C85E295E068E6F4 -:102FA00070E00E94041C85E295E066E50E94271C03 -:102FB00085E295E060E20E94271C85E295E069E6E3 -:102FC0000E94271C85E295E060E20E94271C85E2B2 -:102FD00095E062E50E94271C85E295E060E20E9490 -:102FE000271C85E295E064E70E94271C85E295E0B6 -:102FF00060E20E94271C85E295E068E50E94271C9C -:1030000085E295E060E20E94271C85E295E066E497 -:103010000E94271C85E295E060E20E94271C85E261 -:1030200095E063E50E94271C85E295E060E20E943E -:10303000271C85E295E062EB71E00CC085E093E02F -:1030400060E070E00E940520863539F485E295E065 -:1030500066ED71E00E94651D63C085E093E060E06D -:1030600070E00E940520823571F4809154059091A2 -:103070005505009711F488E595E0BE016F5F7F4F1D -:10308000681B790B31C085E093E060E070E00E943E -:103090000520893649F48DE093E00E947007892B62 -:1030A00089F40E94D3163CC085E093E060E070E0B4 -:1030B0000E940520833569F48DE093E00E9470073B -:1030C000892B21F081E080930C032AC00E946D15AA -:1030D00027C085E093E060E070E00E94052084371F -:1030E00051F40E943414BC0185E295E04AE050E0BE -:1030F0000E94431D15C085E093E060E070E00E94EF -:103100000520883519F40E9458150AC085E093E01F -:1031100060E070E00E940520863411F40E94A11343 -:103120000F900F90CF91DF910895AF92BF92CF9201 -:10313000DF92EF92FF920F931F9380919104882367 -:10314000A1F481E994E00E94C61B892B71F00E94D2 -:10315000A51E6093990470939A0480939B049093A6 -:103160009C0481E994E00E94D01B0E94A51E7B0173 -:103170008C0182E00E94D51FAC018091990490914E -:103180009A04A0919B04B0919C0457016801A81A6D -:10319000B90ACA0ADB0AD601C501E0929904F09285 -:1031A0009A0400939B0410939C048A359105A10511 -:1031B000B10594F181302DE7920720E0A20720E0CD -:1031C000B2071CF021E03DE701C09501452B19F045 -:1031D000309521953F4F809161028035E8F48091D0 -:1031E00061028F5F80936102809162026091600250 -:1031F00090E070E00E94982480936202E091620265 -:10320000F0E0EE0FFF1FEC59FD4F318320838091DA -:1032100062028F5F809362021F910F91FF90EF9087 -:10322000DF90CF90BF90AF900895FF920F931F93C0 -:10323000DF93CF9300D0CDB7DEB780910C03882306 -:10324000D1F110920C030E94BA1780910C038823CD -:1032500031F485E093E062EB71E00E94DE2181E0D1 -:103260008093040328C080916102815080936102A1 -:10327000809163026091600290E070E00E94982467 -:103280008093630280916302E82FF0E0EE0FFF1F4E -:10329000EC59FD4F208131818F5F809363023A8327 -:1032A00029838DE093E0B8010E94700A882341F0E1 -:1032B000F092040305C08E010F5F1F4FFF24F394AB -:1032C00080916102882379F60F900F90CF91DF9162 -:1032D0001F910F91FF90089585E295E040E051EE37 -:1032E00060E070E00E94301A82E060E00E94361FC9 -:1032F0008BE061E00E94361F8DE061E00E94361F86 -:10330000E1E8F0E080E180831092800082E0809329 -:103310005D0288EA91E690935C0280935B02909351 -:1033200087008093860082E1808382E894E1909315 -:103330005F0280935E0281E080936F000E945015CF -:1033400085E093E064E170E00E94C02008951F9240 -:103350000F920FB60F9211242F933F934F938F9399 -:103360009F93EF93FF938091C00082FD1DC0409119 -:10337000C6002091DD043091DE042F5F3F4F2F7394 -:1033800030708091DF049091E0042817390771F0C4 -:10339000E091DD04F091DE04E356FB4F408330936F -:1033A000DE042093DD0402C08091C600FF91EF91FE -:1033B0009F918F914F913F912F910F900FBE0F9042 -:1033C0001F901895E0913105F0913205E05CFF4FB8 -:1033D0008191919120813181821B930B8F73907029 -:1033E000892B11F00E94601408951F920F920FB65E -:1033F0000F9211242F933F938F939F93EF93FF93FB -:10340000209121053091220580912305909124057A -:103410002817390731F48091C1008F7D8093C10056 -:1034200014C0E0912305F0912405EF51FB4F20815A -:10343000809123059091240501968F73907090934D -:103440002405809323052093C600FF91EF919F915F -:103450008F913F912F910F900FBE0F901F90189555 -:10346000AF92BF92DF92EF92FF920F931F93CF9391 -:10347000DF93EC017A018B01DD24403081EE5807A7 -:1034800080E0680780E0780711F0DD24D39491E0B4 -:10349000A92EB12CEC89FD89DD2069F0C50108A0B9 -:1034A00002C0880F991F0A94E2F7808360E079E0F8 -:1034B0008DE390E005C0108260E874E88EE190E052 -:1034C000A80197010E94BF24215030404040504045 -:1034D000569547953795279580E12030380720F09D -:1034E000DD2011F0DD24D6CFE889F9893083EA891F -:1034F000FB89208319A2EE89FF89408121E030E019 -:10350000C9010C8C02C0880F991F0A94E2F7482B5E -:103510004083EE89FF894081C9010D8C02C0880F6C -:10352000991F0A94E2F7482B4083EE89FF89408176 -:10353000C9010E8C02C0880F991F0A94E2F7482B2C -:103540004083EE89FF8980810F8C02C0220F331FD8 -:103550000A94E2F7209528232083DF91CF911F91D1 -:103560000F91FF90EF90DF90BF90AF900895DC0136 -:103570001C96ED91FC911D97E05CFF4F21913191DC -:1035800080819181281B390B2F733070C9010895F8 -:10359000DC011C96ED91FC911D97E05CFF4F2081B2 -:1035A0003181E054F040DF01AE5BBF4F8D919C91C3 -:1035B00011972817390719F42FEF3FEF07C08D91A6 -:1035C0009C91E80FF91F8081282F30E0C9010895F0 -:1035D000DC011C96ED91FC911D97E05CFF4F208172 -:1035E0003181E054F040DF01AE5BBF4F8D919C9183 -:1035F00011972817390719F42FEF3FEF10C08D915D -:103600009C911197E80FF91F20818D919C91119742 -:1036100001968F73907011969C938E9330E0C90140 -:103620000895DC0191968C919197882339F05496F6 -:10363000ED91FC915597808186FFF9CF91961C9270 -:103640000895CF93DF93EC01EE85FF85E05CFF4F9B -:1036500020813181E054F0402F5F3F4F2F73307055 -:10366000DF01AE5BBF4F8D919C91119728173907F1 -:10367000D1F3E05CFF4F80819181E054F040E80F8E -:10368000F91F6083EE85FF85E05CFF4F3183208367 -:10369000EE89FF89208181E090E00F8C02C0880FC5 -:1036A000991F0A94E2F7282B208381E089A3EC89F3 -:1036B000FD8980818064808381E090E0DF91CF91FB -:1036C0000895109228051092270588EE93E0A0E057 -:1036D000B0E08093290590932A05A0932B05B09321 -:1036E0002C058BE492E090932605809325058DE9C7 -:1036F00094E0909332058093310581EE94E09093AD -:1037000034058093330585EC90E0909336058093E3 -:10371000350584EC90E0909338058093370580EC74 -:1037200090E090933A058093390581EC90E0909376 -:103730003C0580933B0582EC90E090933E0580939E -:103740003D0586EC90E09093400580933F0584E032 -:103750008093410583E08093420587E08093430591 -:1037600085E08093440581E0809345050895CF93DB -:10377000DF930E94FB1E0E946C19C2EED9E10E94E9 -:1037800015192097E1F30E94E219F9CFFC0120E01E -:1037900030E08081882311F421E030E0C9010895F0 -:1037A000FC0181E0808308950E945B0108950E94DE -:1037B000B1000895CF92DF92EF92FF920F931F9383 -:1037C000CF93DF937C016B018A01C0E0D0E00FC092 -:1037D000D6016D916D01D701ED91FC910190F081C1 -:1037E000E02DC7010995C80FD91F015010400115E0 -:1037F000110571F7CE01DF91CF911F910F91FF90CD -:10380000EF90DF90CF900895EF92FF920F931F9368 -:10381000CF93DF937C018B01C0E0D0E0F8010F5F14 -:103820001F4F6491662359F0D701ED91FC910190EF -:10383000F081E02DC7010995C80FD91FEFCFCE0148 -:10384000DF91CF911F910F91FF90EF900895DC01D0 -:10385000ED91FC910190F081E02D09950895EF9292 -:10386000FF920F931F938C01DC01ED91FC9101906D -:10387000F081E02D6DE009957C01D801ED91FC917E -:103880000190F081E02DC8016AE009959C012E0DA0 -:103890003F1DC9011F910F91FF90EF900895CF93A5 -:1038A000DF93EC016115710519F420E030E00FC0E1 -:1038B000DB010D900020E9F71197A61BB70BE881FB -:1038C000F9810280F381E02DAD0109959C01C901C8 -:1038D000DF91CF9108954F925F927F928F929F9246 -:1038E000AF92BF92CF92DF92EF92FF920F931F930E -:1038F000DF93CF93CDB7DEB7A1970FB6F894DEBFB5 -:103900000FBECDBF2C01742ECB01223008F42AE06B -:1039100019A231E2C32ED12CCC0EDD1E822E9924A9 -:10392000AA24BB24672D752FA50194010E94BF24F2 -:1039300079018A01C801B701A50194010E94792487 -:10394000472D461B0894C108D1084A3014F4405D45 -:1039500001C0495CF6014083E114F1040105110541 -:1039600021F07E2C5F2DC801DDCFC201B6010E947F -:103970004F1CA1960FB6F894DEBF0FBECDBFCF91FE -:10398000DF911F910F91FF90EF90DF90CF90BF904C -:10399000AF909F908F907F905F904F900895DC0143 -:1039A0002115310541F4ED91FC910190F081E02D5C -:1039B000642F099508950E946B1C0895EF92FF9261 -:1039C0000F931F939A01E62EFF2400E010E0B80148 -:1039D000A7010E94CF1C1F910F91FF90EF900895B7 -:1039E000CF92DF92EF92FF920F931F93CF93DF93CB -:1039F000EC016A017B012115310541F4E881F9816F -:103A00000190F081E02D642F09951FC02A30310507 -:103A1000D1F477FF17C0E881F9810190F081E02DA2 -:103A20006DE209958C0144275527BA014C195D09AF -:103A30006E097F09CE012AE00E946B1C9801280FB5 -:103A4000391F04C02AE00E946B1C9C01C901DF9150 -:103A5000CF911F910F91FF90EF90DF90CF9008953D -:103A6000EF92FF920F931F937B019A010027F7FCBF -:103A70000095102FB801A7010E94F01C1F910F9113 -:103A8000FF90EF900895CF92DF92EF92FF920F9305 -:103A90001F936C017B019A010027F7FC0095102F02 -:103AA000B801A7010E94F01C8C01C6010E942F1CC6 -:103AB000080F191FC8011F910F91FF90EF90DF9021 -:103AC000CF9008950E944F1C0895EF92FF920F939C -:103AD0001F937C010E944F1C8C01C7010E942F1C68 -:103AE000080F191FC8011F910F91FF90EF900895C3 -:103AF000AF92BF92CF92DF92EF92FF920F931F93FC -:103B0000CF93DF935C016B01EE24FF24C0E0D0E093 -:103B100010C0D501ED91FC9100811181C601BE015B -:103B20000E941620682FC501F8010995E80EF91EBC -:103B30002196F60184819581C817D90750F3C701F2 -:103B4000DF91CF911F910F91FF90EF90DF90CF9079 -:103B5000BF90AF900895EF92FF920F931F937C0157 -:103B60000E94781D8C01C7010E942F1C9C01200F10 -:103B7000311FC9011F910F91FF90EF90089582307E -:103B800000F5E82FF0E0EE0FFF1FE95BFA4F7183BD -:103B90006083882319F08130A1F408C08091690006 -:103BA0008C7F842B80936900E89A08958091690046 -:103BB000440F551F440F551F837F842B809369004A -:103BC000E99A0895823080F4882319F0813021F435 -:103BD00002C0E89801C0E998E82FF0E0EE0FFF1F5F -:103BE000E95BFA4F1182108208951F920F920FB66F -:103BF0000F9211242F933F934F935F936F937F9373 -:103C00008F939F93AF93BF93EF93FF93809147055B -:103C100090914805892B29F0E0914705F0914805DE -:103C20000995FF91EF91BF91AF919F918F917F91F6 -:103C30006F915F914F913F912F910F900FBE0F9019 -:103C40001F9018951F920F920FB60F9211242F9369 -:103C50003F934F935F936F937F938F939F93AF9314 -:103C6000BF93EF93FF938091490590914A05892B6B -:103C700029F0E0914905F0914A050995FF91EF91EE -:103C8000BF91AF919F918F917F916F915F914F9174 -:103C90003F912F910F900FBE0F901F9018951F927C -:103CA0000F920FB60F9211242F933F938F939F93F0 -:103CB000AF93BF9380914F0590915005A09151050E -:103CC000B0915205309153050196A11DB11D232FCE -:103CD0002D5F2D3720F02D570196A11DB11D20938A -:103CE000530580934F0590935005A0935105B093D1 -:103CF000520580914B0590914C05A0914D05B091D6 -:103D00004E050196A11DB11D80934B0590934C0566 -:103D1000A0934D05B0934E05BF91AF919F918F91A8 -:103D20003F912F910F900FBE0F901F9018958FB756 -:103D3000F89420914F0530915005409151055091D4 -:103D400052058FBFB901CA0108959FB7F894209119 -:103D50004B0530914C0540914D0550914E0586B56F -:103D6000A89B06C08F3F21F02F5F3F4F4F4F5F4F03 -:103D70009FBF542F432F322F2227280F311D411D63 -:103D8000511D82E0220F331F441F551F8A95D1F722 -:103D9000B901CA010895EF92FF920F931F93CF9339 -:103DA000DF937B018C010E94A51EEB010EC00E94D7 -:103DB000A51E6C1B7D0B685E7340C8F30894E10878 -:103DC000F10801091109C851DC4FE114F1040105A2 -:103DD000110569F7DF91CF911F910F91FF90EF903F -:103DE0000895019739F0880F991F880F991F02973E -:103DF0000197F1F70895789484B5826084BD84B505 -:103E0000816084BD85B5826085BD85B5816085BDD5 -:103E1000EEE6F0E0808181608083E1E8F0E01082EE -:103E2000808182608083808181608083E0E8F0E02F -:103E3000808181608083E1EBF0E080818460808319 -:103E4000E0EBF0E0808181608083EAE7F0E0808150 -:103E500084608083808182608083808181608083B0 -:103E60008081806880831092C1000895CF93DF9392 -:103E7000482F50E0CA0189559F4FFC0134914D569F -:103E80005F4FFA018491882369F190E0880F991FB0 -:103E9000FC01EB58FF4FA591B491FC01E158FF4F95 -:103EA000C591D491662351F42FB7F8948C91932F38 -:103EB000909589238C93888189230BC0623061F4AB -:103EC0002FB7F8948C91932F909589238C938881A8 -:103ED000832B88832FBF06C09FB7F8948C91832BC8 -:103EE0008C939FBFDF91CF910895833071F0843020 -:103EF00028F48130A1F0823021F514C08630B1F071 -:103F00008730D1F08430E9F404C0809180008F774D -:103F100003C0809180008F7D80938000089584B5D8 -:103F20008F7702C084B58F7D84BD08958091B000E5 -:103F30008F778093B00008958091B0008F7D80933B -:103F4000B0000895FF920F931F93F62E482F50E074 -:103F5000CA0185549F4FFC012491CA0189559F4F86 -:103F6000FC0114914D565F4FFA0104910023C9F0F2 -:103F7000222319F0822F0E94751FE02FF0E0EE0F30 -:103F8000FF1FE158FF4FA591B4919FB7F894FF2010 -:103F900021F48C911095812302C08C91812B8C93FC -:103FA0009FBF1F910F91FF9008950F931F93482F6C -:103FB00050E0CA0185549F4FFC012491CA018955E4 -:103FC0009F4FFC0104914D565F4FFA01149111234C -:103FD00019F420E030E015C0222319F0822F0E944E -:103FE000751F812F90E0880F991F87579F4FFC0105 -:103FF000A591B4918C9120E030E0802311F021E074 -:1040000030E0C9011F910F910895FC0184819581D1 -:104010006817790748F40190F081E02D309721F07E -:10402000E60FF71F8081089580E00895FC018481E8 -:1040300095816817790748F40190F081E02D309759 -:1040400021F0E60FF71F8081089580E00895FC01BC -:1040500080819181009729F420E030E040E050E039 -:1040600004C00E94A6029B01AC01B901CA010895D7 -:10407000CF93DF93FC01DB018481958148175907B9 -:1040800060F4C081D1816D917C91CE01840F951F28 -:104090000E9415039C01009719F42FEF3FEF02C017 -:1040A0002C1B3D0BC901DF91CF910895CF93DF9376 -:1040B000FC01848195814817590768F4C081D1813A -:1040C000772767FD7095CE01840F951F0E94F4023B -:1040D0009C01009719F42FEF3FEF02C02C1B3D0B02 -:1040E000C901DF91CF91089540E050E00E94562031 -:1040F00008950F931F93CF93DF93FC018B0141151C -:104100005105F9F061157105E1F084819581281759 -:10411000390718F0FB01108214C041505040EC01E7 -:10412000C21BD30B4C175D0708F4EA016081718153 -:10413000620F731FC801AE010E940603C00FD11F9A -:104140001882DF91CF911F910F9108950F931F93C4 -:10415000CF93DF93EC018B016F5F7F4F8881998153 -:104160000E94B301009711F480E005C09983888311 -:104170001B830A8381E0DF91CF911F910F910895F6 -:10418000CF93DF93EC0188819981892B29F08A8173 -:104190009B818617970760F4CE010E94A620882392 -:1041A00041F08C819D81892B19F4E881F98110827D -:1041B00081E0DF91CF910895EF92FF920F931F93CB -:1041C000CF93DF93EC017B016C817D81E114F104DD -:1041D000C1F04115510599F08A01060F171FB8016A -:1041E0000E94C020882369F0888199812C813D81BB -:1041F000820F931FB7010E94FF021D830C8381E091 -:1042000001C080E0DF91CF911F910F91FF90EF905F -:104210000895EF92FF920F931F93DF93CF93CDB743 -:10422000DEB727970FB6F894DEBF0FBECDBF7C0177 -:10423000CB018E010F5F1F4FB8014AE050E00E9492 -:104240006103F80101900020E9F73197E01BF10BC1 -:10425000C701B801AF010E94DC2027960FB6F89481 -:10426000DEBF0FBECDBFCF91DF911F910F91FF90A9 -:10427000EF900895EF92FF920F931F93DF93CF93E8 -:1042800000D000D0CDB7DEB77C01862F90E08E0144 -:104290000F5F1F4FB8014AE050E00E946103F80130 -:1042A00001900020E9F73197E01BF10BC701B8013D -:1042B000AF010E94DC200F900F900F900F90CF91D4 -:1042C000DF911F910F91FF90EF900895DF93CF93AF -:1042D00000D0CDB7DEB769831A82BE016F5F7F4F12 -:1042E00041E050E00E94DC200F900F90CF91DF91D1 -:1042F00008956115710511F480E00895DB010D90BA -:104300000020E9F71197A61BB70BAD010E94DC2036 -:104310000895FB0160817181448155810E94DC20F8 -:104320000895CF93DF93EC0188819981009711F074 -:104330000E945B01198218821D821C821B821A82D4 -:10434000DF91CF910895EF92FF920F931F93CF9338 -:10435000DF93EC017B018A01BA010E94C02088230F -:1043600021F4CE010E94912107C01D830C83888116 -:104370009981B7010E94FF02CE01DF91CF911F9179 -:104380000F91FF90EF900895CF93DF93EC01198286 -:1043900018821B821A821D821C821E826115710581 -:1043A00051F0DB010D900020E9F71197A61BB70B28 -:1043B000AD010E94A321DF91CF9108950F931F9328 -:1043C000182F092F6115710559F0DB010D900020A0 -:1043D000E9F71197A61BB70BAD010E94A32102C0FC -:1043E0000E949121812F902F1F910F910895EF929C -:1043F000FF920F931F93DF93CF93CDB7DEB76297F2 -:104400000FB6F894DEBF0FBECDBF8C01CB01F80113 -:1044100011821082138212821582148216827E010A -:104420000894E11CF11CB70150E00E946103C8012F -:10443000B7010E94DE2162960FB6F894DEBF0FBE70 -:10444000CDBFCF91DF911F910F91FF90EF90089515 -:10445000EF92FF920F931F93DF93CF93CDB7DEB709 -:1044600029970FB6F894DEBF0FBECDBF8C01862F03 -:10447000F801118210821382128215821482168230 -:1044800090E07E010894E11CF11CB70150E00E940D -:104490009F03C801B7010E94DE2129960FB6F89448 -:1044A000DEBF0FBECDBFCF91DF911F910F91FF9067 -:1044B000EF900895BF92CF92DF92EF92FF920F9309 -:1044C0001F93CF93DF93082FB92E6B017A01E90177 -:1044D0002417350710F4EA017901802F9B2D61E143 -:1044E00072E00E94C421D60114968D919C9115977B -:1044F0008E159F05D0F08C179D0708F4EC01D601AE -:10450000ED91FC911197EC0FFD1F108110826D91C0 -:104510007C916E0D7F1D802F9B2D0E94DE21D60188 -:10452000ED91FC91EC0FFD1F1083802F9B2DDF91EF -:10453000CF911F910F91FF90EF90DF90CF90BF90A0 -:1045400008950F931F938C01FB01248135810E94F4 -:104550005A22C8011F910F910895CF93DF93EC0168 -:10456000FB018617970761F0608171816115710504 -:1045700029F0448155810E94A32102C00E9491210B -:10458000CE01DF91CF910895FC01808191810E943D -:104590005B0108955058BB27AA270ED009C1FAD055 -:1045A00030F0FFD020F031F49F3F11F41EF4EFC043 -:1045B0000EF4E095E7FBE5C0E92F0BD180F3BA17C5 -:1045C000620773078407950718F071F49EF523C1FD -:1045D0000EF4E0950B2EBA2FA02D0B01B90190011E -:1045E0000C01CA01A0011124FF27591B99F0593F62 -:1045F00050F4503E68F11A16F040A22F232F342FAA -:104600004427585FF3CF469537952795A795F040F7 -:104610005395C9F77EF41F16BA0B620B730B840B0C -:10462000BAF09150A1F0FF0FBB1F661F771F881FC4 -:10463000C2F70EC0BA0F621F731F841F48F487951C -:1046400077956795B795F7959E3F08F0B3CF93950B -:10465000880F08F09927EE0F97958795089504D055 -:104660006894B111D9C00895BCD088F09F5790F0DC -:10467000B92F9927B751A0F0D1F0660F771F881F87 -:10468000991F1AF0BA95C9F712C0B13081F0C3D0A2 -:10469000B1E00895C0C0672F782F8827B85F39F040 -:1046A000B93FCCF3869577956795B395D9F73EF4E6 -:1046B00090958095709561957F4F8F4F9F4F08958E -:1046C000E89409C097FB3EF49095809570956195AC -:1046D0007F4F8F4F9F4F9923A9F0F92F96E9BB2762 -:1046E0009395F695879577956795B795F111F8CFDE -:1046F000FAF4BB0F11F460FF1BC06F5F7F4F8F4F49 -:104700009F4F16C0882311F096E911C0772321F03E -:104710009EE8872F762F05C0662371F096E8862FD6 -:1047200070E060E02AF09A95660F771F881FDAF72D -:10473000880F9695879597F90895990F0008550F5A -:10474000AA0BE0E8FEEF16161706E807F907C0F017 -:1047500012161306E407F50798F0621B730B840B1F -:10476000950B39F40A2661F0232B242B252B21F4F9 -:1047700008950A2609F4A140A6958FEF811D811D99 -:10478000089597F99F6780E870E060E008959FEFD3 -:1047900080EC089500240A941616170618060906D8 -:1047A000089500240A9412161306140605060895A7 -:1047B000092E0394000C11F4882352F0BB0F40F42F -:1047C000BF2B11F460FF04C06F5F7F4F8F4F9F4F6F -:1047D000089557FD9058440F551F59F05F3F71F0F1 -:1047E0004795880F97FB991F61F09F3F79F0879558 -:1047F0000895121613061406551FF2CF4695F1DFE1 -:1048000008C0161617061806991FF1CF8695710570 -:10481000610508940895E894BB2766277727CB01A4 -:1048200097F908958ADF08F48FEF08950BD0C0CF71 -:10483000B1DF28F0B6DF18F0952309F0A2CFA7CF9B -:104840001124EACFC6DFA0F3959FD1F3950F50E076 -:10485000551F629FF001729FBB27F00DB11D639F32 -:10486000AA27F00DB11DAA1F649F6627B00DA11DD8 -:10487000661F829F2227B00DA11D621F739FB00D7E -:10488000A11D621F839FA00D611D221F749F3327EE -:10489000A00D611D231F849F600D211D822F762F87 -:1048A0006A2F11249F5750408AF0E1F088234AF084 -:1048B000EE0FFF1FBB1F661F771F881F91505040D0 -:1048C000A9F79E3F510570F05CCFA6CF5F3FECF398 -:1048D000983EDCF3869577956795B795F795E795BC -:1048E0009F5FC1F7FE2B880F911D9695879597F9CD -:1048F0000895629FD001739FF001829FE00DF11D2A -:10490000649FE00DF11D929FF00D839FF00D749F49 -:10491000F00D659FF00D9927729FB00DE11DF91FF5 -:10492000639FB00DE11DF91FBD01CF011124089552 -:10493000AA1BBB1B51E107C0AA1FBB1FA617B707C5 -:1049400010F0A61BB70B881F991F5A95A9F78095E1 -:104950009095BC01CD01089597FB092E07260AD03A -:1049600077FD04D0E5DF06D000201AF4709561953C -:104970007F4F0895F6F7909581959F4F0895A1E296 -:104980001A2EAA1BBB1BFD010DC0AA1FBB1FEE1FC9 -:10499000FF1FA217B307E407F50720F0A21BB30B14 -:1049A000E40BF50B661F771F881F991F1A9469F790 -:1049B00060957095809590959B01AC01BD01CF01EC -:1049C0000895EE0FFF1F0590F491E02D09942F92AA -:1049D0003F924F925F926F927F928F929F92AF928F -:1049E000BF92CF92DF92EF92FF920F931F93CF93DC -:1049F000DF93CDB7DEB7CA1BDB0B0FB6F894DEBF73 -:104A00000FBECDBF09942A88398848885F846E8498 -:104A10007D848C849B84AA84B984C884DF80EE80E2 -:104A2000FD800C811B81AA81B981CE0FD11D0FB6EB -:104A3000F894DEBF0FBECDBFED01089510E0C4EDC8 -:104A4000D0E004C0FE010E94E3242296C63DD107B7 -:064A5000C9F7F894FFCF46 -:104A56000041530025303258003030003000433DCD -:104A6600004C4C3D004C483D00534C3D0053483DE6 -:104A7600004D53003D00443D0043503D0053503D22 -:104A8600004F00636F7079004D430050004D550094 -:104A960053796E633A2000202D3E2053796E63468B -:104AA6006163743A20002C20436C6F636B3A2000DC -:104AB6002C20546F6C3A20002C20506174744C6585 -:104AC6006E3A200020002C2050756C73653A200049 -:104AD6002C20002C206D53746172743A20005369A7 -:104AE600676E616C3A20002E2000205B005D00504E -:104AF60061747465726E3A20002050003A20002AD4 -:104B06005B00005550442046696C746572003B4357 -:104B16003D003B53463D003B004954506172616D78 -:104B2600733A200020005620332E312E382D484669 -:104B360032205349474E414C6475696E6F202D20D3 -:104B4600636F6D70696C6564206174204E6F7620AA -:104B5600203820323031352032313A33363A333745 -:104B66000000200058050000062C0100000000454A -:104B76000F6D076E07791000000000450F6D076E78 -:104B860007560A0000000005076D076E076F07004D -:104B96000000000000020000000000211BDA1BB725 -:084BA6001AE81AC81A111B00DD +:100000000C9477000C94EF130C9416140C949F002E +:100010000C949F000C949F000C949F000C949F00E4 +:100020000C949F000C949F000C949F000C949F00D4 +:100030000C949F000C947F080C949F000C949F00DC +:100040000C943D140C949F000C9401170C943317DE +:100050000C949F000C949F000C949F000C949F00A4 +:100060000C949F000C949F003B4D433D003B4D552D +:100070003D004D533D00556E737570706F72746521 +:100080006420636F6D6D616E640020557365206F31 +:100090006E65206F6620000000000800020100006D +:1000A0000304070000000000000000010204081023 +:1000B00020408001020408102001020408102004DE +:1000C00004040404040404020202020202030303FF +:1000D00003030300000000250028002B000000009F +:1000E00000240027002A0000190863175C08112467 +:1000F0001FBECFEFD8E0DEBFCDBF12E0A0E0B1E081 +:10010000ECE9F7E402C005900D92A231B107D9F7EE +:1001100024E0A2E1B2E001C01D92AF3DB207E1F7D9 +:1001200010E0CCEED0E004C02297FE010E94ED1D4D +:10013000C83ED107C9F70E94AA170C94C1230C949A +:100140000000CF92DF92EF92FF920F931F930E94D5 +:1001500093140091190210911A0220911B02309100 +:100160001C026B017C01C01AD10AE20AF30A970152 +:1001700086016093190270931A0280931B02909378 +:100180001C020A3511052105310578F181E0C816F8 +:100190008DE7D806E104F10410F4960102C021E0D5 +:1001A0003DE74A9B03C031952195310980915F035A +:1001B0008B34D8F480915F038F5F80935F038091CD +:1001C000600360915E030E94951D90936003E0912F +:1001D0006003F0E0EE0FFF1FEE59FC4F31832083E8 +:1001E000809160038F5F809360031F910F91FF9058 +:1001F000EF90DF90CF9008950F931F9360912302AB +:100200008DE00E948615109223020E9493140091A3 +:10021000190210911A0220911B0230911C02601BDE +:10022000710B820B930B62307D478105910520F0A5 +:100230001F910F910C94A1001F910F9108958DE1D2 +:1002400092E00E94521987E593E00E94521981E5DD +:1002500093E00C945219CF93DF93EC01FB012481BE +:1002600035810E94951BCE01DF91CF91089541E029 +:1002700050E061EA70E080E00C94BD1380E00C94E3 +:10028000DD13CF93DF931F92CDB7DEB72B9A20916A +:10029000060130910701482F429FC001439F900DF6 +:1002A000112469830E94DE142B988091060190919D +:1002B00007016981FC016E9FC0016F9F900D1124A1 +:1002C0000F90DF91CF910C94DE14EF92FF920F9379 +:1002D0001F93CF93DF93F82EE92E0E943E0100E09A +:1002E00010E02091080130E0021713072CF56FE1B0 +:1002F00081E00E944101CF2DDE2D29912223C9F0FA +:10030000213371F0263449F02033B9F763E081E0FE +:100310000E94410163E081E009C063E081E002C026 +:1003200061E083E00E94410161E083E00E944101BD +:10033000E4CF0F5F1F4FD5CFDF91CF911F910F916A +:10034000FF90EF900C9437013F924F925F926F9223 +:100350007F928F929F92AF92BF92CF92DF92EF9255 +:10036000FF920F931F93CF93DF93082FEB01542E2F +:10037000452E59010E9493146B017C0110E0812CE1 +:10038000912CB401600F711FC617D707A8F1C501E2 +:100390000E944D1B8053E52DF42DE80FF11DE80F51 +:1003A000F11D90818181382E331C3324331C692E3A +:1003B000782E31F077FE0CC071946194710808C0FA +:1003C00077FE03C071946194710888E1681A71081E +:1003D0000E9493146C157D058E059F05C8F333208C +:1003E00011F02B9801C02B9AC60CD71CE11CF11CF4 +:1003F0008FEF881A980AC5CF0E9493146C157D055B +:100400008E059F05C8F3DF91CF911F910F91FF904B +:10041000EF90DF90CF90BF90AF909F908F907F90A4 +:100420006F905F904F903F9008954F925F926F92C0 +:100430007F928F929F92AF92BF92CF92DF92EF9274 +:10044000FF920F931F93CF93DF93982E862E2A014E +:100450002B9A0E9493146B017C01662457FC6094D4 +:10046000762C891408F446C0692D70E08DE192E085 +:100470000E944D1B90ED980F9A3010F4892F01C007 +:100480008753C4E0D0E008E0A82EBB24A7FCB094BA +:100490000E9493146C157D058E059F05C8F310E02E +:1004A00098012A213B21232B71F02B98C40CD51CD9 +:1004B000E61CF71C0E9493146C157D058E059F05A4 +:1004C000C8F32B9A0DC02B9AC40CD51CE61CF71C44 +:1004D0000E9493146C157D058E059F05C8F32B981B +:1004E000C40CD51CE61CF71C15950795219781F6C1 +:1004F0009394B7CF0E9493146C157D058E059F05CC +:10050000C8F3DF91CF911F910F91FF90EF90DF9093 +:10051000CF90BF90AF909F908F907F906F905F90A3 +:100520004F900895CF92DF92EF92FF920F931F9317 +:10053000CF93DF9300D000D000D0CDB7DEB78C01D1 +:100540006B01FC01E080F1806DE071E0CE0101966D +:100550000E94C019A701BE016F5F7F4F8DE192E03D +:100560000E94791B7C01CE0101960E945219FFEF77 +:10057000EF16FF0601F1F801408151814F3FFFEF77 +:100580005F07C9F097016DE172E0CE0101960E940C +:10059000951BBE016F5F7F4FC6010E940C1ACE01F2 +:1005A00001960E9452198FEFE81AF80AF801F182B9 +:1005B000E08281E001C080E026960FB6F894DEBFAD +:1005C0000FBECDBFDF91CF911F910F91FF90EF90A4 +:1005D000DF90CF900895BF92CF92DF92EF92FF927B +:1005E0000F931F93CF93DF93CDB7DEB7C856D109D2 +:1005F0000FB6F894DEBF0FBECDBF63E072E0CE0150 +:100600008F599F4F0E94C0196EE170E0CE018F5943 +:100610009F4F0E948319A9961FAE1EAEA9970E94F4 +:100620003E011FEF01E042E1F42E59E0E52E62E0C9 +:10063000D62ECC24C394BE016F597F4FCE01895969 +:100640009F4F0E949202882309F44FC060E070E03F +:10065000CE018F599F4F0E944D1B833589F561E074 +:1006600070E0CE018F599F4F0E944D1B833419F3C8 +:1006700061E070E0CE018F599F4F0E944D1B8D3479 +:1006800059F41F5FE1E0F0E0EC0FFD1FF19EE00D7B +:10069000F11D1124C282CFCF61E070E0CE018F59ED +:1006A0009F4F0E944D1B823531F61F5FE1E0F0E065 +:1006B000EC0FFD1FF19EE00DF11D1124D282BBCF86 +:1006C00060E070E0CE018F599F4F0E944D1B803536 +:1006D00009F068C062E070E0CE018F599F4F0E9420 +:1006E0004D1B8D3309F05EC082C0B12C32E1C32EA8 +:1006F000B016D1F1D12CED2CF12CCE9CA001CF9CC9 +:10070000500D1124E1E0F0E0EC0FFD1FE40FF51FA8 +:100710008281823079F44A5F5F4F21E030E02C0F14 +:100720003D1F420F531F648175812DE132E08381AB +:100730000E94A401CE9CF001CF9CF00D112481E019 +:1007400090E08C0F9D1FE80FF91F8281813031F4FA +:1007500040815181648183810E9415022B98D3943A +:100760001D1548F6B394C4CF0E9437016DE172E0C5 +:100770008EE394E00E944518CE018F599F4F0E944E +:100780005219C859DF4F0FB6F894DEBF0FBECDBF68 +:10079000DF91CF911F910F91FF90EF90DF90CF905D +:1007A000BF90089560E070E0CE018F599F4F0E9486 +:1007B0004D1B823509F050C061E070E0CE018F59C9 +:1007C0009F4F0E944D1B8D3309F046C042E050E020 +:1007D000BE016F597F4FCE01855A9F4F0E942B015A +:1007E000CE01855A9F4F0E94DA1B062F82C022E05D +:1007F00030E041E050E0BE016F597F4FCE01855A95 +:100800009F4F0E94951BCE01855A9F4F0E94DA1B75 +:10081000B62ECE01855A9F4F0E94521943E050E0F8 +:10082000BE016F597F4FCE01855A9F4F0E942B0109 +:10083000CE01855A9F4F0E94DA1BE19EF0011124E0 +:10084000EB0DF11D3396EE0FFF1F21E030E02C0F72 +:100850003D1FE20FF31F4BC060E070E0CE018F59E7 +:100860009F4F0E944D1B8434B9F4A9968EAD9FAD65 +:10087000A997E1E0F0E0EC0FFD1FF19EE00DF11D06 +:10088000112421E0280FA6963FADA697231B2383B2 +:10089000029795838483CFCE60E070E0CE018F59BC +:1008A0009F4F0E944D1B833409F0C5CE61E070E07C +:1008B000CE018F599F4F0E944D1B8D3309F0BBCE47 +:1008C00042E050E0BE016F597F4FCE01855A9F4FE5 +:1008D0000E942B01CE01855A9F4F0E94DA1BE1E056 +:1008E000F0E0EC0FFD1FF19EE00DF11D112471836E +:1008F0006083CE01855A9F4F0E9452199CCE62E7B9 +:1009000070E08EE394E00E94F7176091270270E098 +:100910004AE050E08EE394E00E940C196DE670E02E +:100920008EE394E00E94F7176091250270E04AE0A0 +:1009300050E08EE394E00E940C1968E670E08EE3CC +:1009400094E00E94F7176091260270E04AE050E0C0 +:100950008EE394E00C941419CF93DF93CDB7DEB7F8 +:10096000AE970FB6F894DEBF0FBECDBF61E070E06A +:100970008DE192E00E944D1B843729F161E070E027 +:100980008DE192E00E944D1B823721F542E050E05C +:100990006DE172E0CE0101960E942B0120E030E073 +:1009A00043E050E0BE01675D7F4FCE0101960E949B +:1009B0004F1BCE0101960E945219CE0189960E94CA +:1009C000E21F809308016DE172E08EE394E00E94E3 +:1009D000451895C061E070E08DE192E00E944D1BEA +:1009E0008337F1F42B9A42E050E06DE172E0CE01E2 +:1009F00089960E942B0120E030E048E250E0BE01E1 +:100A00006F5F7F4FCE0189960E944F1BCE01899662 +:100A10000E945219CE0101960E9465012B98D3CFF6 +:100A200061E070E08DE192E00E944D1B8336A9F4F5 +:100A300042E050E06DE172E0CE0101960E942B0190 +:100A4000CE0101960E94DA1B7093070160930601A4 +:100A5000CE0101960E945219B6CF61E070E08DE19F +:100A600092E00E944D1B803709F049C063E072E0BC +:100A7000CE0189960E94C01964E170E0CE0189968A +:100A80000E9483196FE071E0CE0189960E94181AC6 +:100A90004AE060910801CE0101960E94301ABE0121 +:100AA0006F5F7F4FCE0189960E94B51ACE010196E5 +:100AB0000E94521963E971E0CE0189960E94BC1A26 +:100AC00060910601709107014AE0CE0101960E94F3 +:100AD0005D1ABE016F5F7F4FCE0189960E94B51AE5 +:100AE000CE0101960E945219BE01675D7F4F8EE3D1 +:100AF00094E00E944518CE0189960E945219AE9644 +:100B00000FB6F894DEBF0FBECDBFDF91CF91089531 +:100B1000CF93DF9300D0CDB7DEB72091DB043091C7 +:100B2000DC042115310511F42FED34E0CE010196DE +:100B3000821B930B0F900F90DF91CF910895CF926E +:100B4000DF92EF92FF920E9487146B017C0128EEE6 +:100B500033E040E050E00E94C91D80911402909162 +:100B60001502A0911602B0911702C816D906EA061E +:100B7000FB0648F480911202909113020196909323 +:100B8000130280931202C0921402D0921502E092D6 +:100B90001602F0921702CA01B901FF90EF90DF90A0 +:100BA000CF9008956AE171E08EE394E00E945718B7 +:100BB00061E070E080E090E00C94B61461E070E0D9 +:100BC0008DE192E00E944D1B813511F40E943E019F +:100BD00061E070E08DE192E00E944D1B853411F4DC +:100BE0000C9437010895262F220F330B94E049020D +:100BF000B0011124682B622B81E090E00C94C62296 +:100C0000CF93DF9361E070E08DE192E00E944D1B95 +:100C1000873421F4DF91CF910C947F0462E070E07F +:100C20008DE192E00E944D1B833599F062E070E007 +:100C30008DE192E00E944D1B853571F062E070E01D +:100C40008DE192E00E944D1B833441F4C6E2D2E074 +:100C500005C0C7E2D2E002C0C5E2D2E061E070E0C8 +:100C60008DE192E00E944D1B853419F481E0888368 +:100C700009C061E070E08DE192E00E944D1B843478 +:100C800059F4188240912602609125028091270232 +:100C9000DF91CF910C94F305DF91CF91089560E03F +:100CA00070E08DE192E00E944D1B803511F40C94B0 +:100CB000D20560E070E08DE192E00E944D1B8F3321 +:100CC00009F072C06FE38EE394E00E9428186AE88E +:100CD00070E08EE394E00E94F71766E58EE394E0FF +:100CE0000E94281860E28EE394E00E94281869E6CA +:100CF0008EE394E00E94281860E28EE394E00E9464 +:100D0000281862E58EE394E00E94281860E28EE3E2 +:100D100094E00E94281864E78EE394E00E9428186B +:100D200060E28EE394E00E94281868E58EE394E088 +:100D30000E94281860E28EE394E00E94281866E47E +:100D40008EE394E00E94281860E28EE394E00E9413 +:100D5000281863E58EE394E00E94281860E28EE391 +:100D600094E00E94281860E58EE394E00E94281821 +:100D700060E28EE394E00E94281863E48EE394E03E +:100D80000E94281860E28EE394E00E94281867E42D +:100D90008EE394E00E94281860E28EE394E00E94C3 +:100DA000281863E072E00AC060E070E08DE192E034 +:100DB0000E944D1B863531F46DE171E08EE394E0C5 +:100DC0000C94571860E070E08DE192E00E944D1B9A +:100DD000823549F40E9488054AE050E0BC018EE368 +:100DE00094E00C94141960E070E08DE192E00E94B0 +:100DF0004D1B893641F484E292E00E94E508892B7C +:100E000081F40C94AC0460E070E08DE192E00E940B +:100E10004D1B833561F484E292E00E94E508892B42 +:100E200021F081E08093180208950C94EB0260E0B9 +:100E300070E08DE192E00E944D1B843751F40E94D6 +:100E40009F05AB01BC012AE030E08EE394E00C94F6 +:100E5000401960E070E08DE192E00E944D1B883502 +:100E600011F40C94DE0560E070E08DE192E00E94E8 +:100E70004D1B8634D1F060E070E08DE192E00E947D +:100E80004D1B833411F40C94000660E070E08DE19A +:100E900092E00E944D1B873411F40C947F0466E7A6 +:100EA00070E08EE394E00C94331808951F93CF9371 +:100EB000DF9300D0CDB7DEB780911802882389F088 +:100EC000109218020E944F0680911802811106C0EC +:100ED00063E072E08DE192E00E94181A81E0809355 +:100EE000230211E080915F03882341F180915F0329 +:100EF000815080935F038091610360915E030E9443 +:100F0000951D90936103E091610381E08E0F8093C2 +:100F10006103F0E0EE0FFF1FEE59FC4F80819181DD +:100F20009A838983BE016F5F7F4F84E292E00E94C3 +:100F30009B138823B9F210932302D4CF0F900F9004 +:100F4000DF91CF911F910895EF92FF920F931F931E +:100F5000CF93DF93EC017B018A0181E090E00E9456 +:100F6000BE22982F9170988381FB992790F9F70101 +:100F7000908382FB882780F9F8018083DF91CF91ED +:100F80001F910F91FF90EF90089526E040E051EE01 +:100F900060E070E08EE394E00E949F1660E082E0E3 +:100FA0000E944D1561E08BE00E944D1561E08DE0DF +:100FB0000E944D1580E1809381001092800082E0B4 +:100FC0008093FA0388E199E79093FC038093FB03F5 +:100FD000909387008093860082E1809381008CEF5C +:100FE00090E09093F9038093F80381E080936F0081 +:100FF00080E090E00E94BE228B3049F446E252E04D +:1010000065E272E087E292E00E94A4070AC06BE00A +:1010100080E090E00E94C62267E081E090E00E94BC +:10102000C6220E94370164E170E08DE192E00C94E9 +:1010300083190F931F93CF93DF938BE480935E0309 +:1010400010925F031092610310926003C7E3D3E034 +:10105000D0933C03C0933B0309E313E010933E039A +:1010600000933D0363E072E081E593E00E94C019C4 +:1010700063E072E087E593E00E94C019F8011182F5 +:1010800010821982188284E292E00E94A70863E02D +:1010900072E08DE192E00E94C0190E949314609367 +:1010A000190270931A0280931B0290931C02DF9125 +:1010B000CF911F910F9108950C941F01CF93C1E020 +:1010C0008EE394E00E94BC15892BB9F08EE394E086 +:1010D0000E94D5158A3041F01CF4882329F007C0FE +:1010E0008D3011F0833219F4C0931802E9CF682FC4 +:1010F0008DE192E00E94CC1AE3CFCF9108951F9228 +:101100000F920FB60F9211242F933F934F935F933B +:101110006F937F938F939F93AF93BF93EF93FF93BF +:10112000E091F803F091F9030995FF91EF91BF91D8 +:10113000AF919F918F917F916F915F914F913F916F +:101140002F910F900FBE0F901F9018950895FC01DE +:10115000E85FFE4F1082B39610827B971082319623 +:10116000118210827B962FEF2083FC012083AC013B +:1011700020E030E0FA01E15EFE4F11821082FC01B6 +:10118000E20FF31F14822F5F3F4F4E5F5F4F2630F9 +:10119000310581F7FC01E55FFE4F1082339626E9A9 +:1011A00030E0318320833D964DEC5CEC6CE47EE3D3 +:1011B00040835183628373837297108233961082C7 +:1011C0003196108233971082089580E090E0089560 +:1011D000CF93DF93FC01E55DFE4FD081C0E07D97AA +:1011E000CD17C1F0DC01A15EBE4F2D913C91AB014A +:1011F000421B530B9A0157FF03C0319521953109CA +:101200000296408151814217530714F08C2F03C07E +:10121000CF5FE6CF8FEFDF91CF910895FC0114826D +:1012200015821682178210861186411104C0DC01D6 +:10123000A85FBE4F4C91641780F4DF01A60FB11D6B +:101240001A968C91DF01A80FB11D14968C911497FA +:101250008F5F14968C936F5FEECF08952F923F921D +:101260004F925F926F927F928F929F92AF92BF92B6 +:10127000CF92DF92EF92FF920F931F93CF93DF9362 +:10128000CDB7DEB72E970FB6F894DEBF0FBECDBF39 +:101290009E878D8740E060E00E940E09ED85FE8507 +:1012A000E55DFE4F5080712C2D853E85255E3E4FBD +:1012B0003A8729878D859E85885F9E4F9C878B877F +:1012C000751409F4C3C044244394470C642C272CA0 +:1012D000312CC101880F991FAD85BE858A0F9B1FD8 +:1012E000FC01E15EFE4FFA83E9832A0E3B1EF4E027 +:1012F0002F0E311C29813A8138872F83651409F418 +:10130000A3C0862D90E09C838B83880F991F9E83BA +:101310008D83FC01AD85BE85EA0FFB1FE15EFE4FAC +:1013200000811181C80117FF04C088279927801BFD +:10133000910BBC01882777FD8095982F0E947E1C19 +:10134000E985FA8520813181428153810E94321DD5 +:101350004B015C01A981BA81CD90DC907801EC1839 +:10136000FD08F7FE03C0F194E194F10820E030E0BD +:1013700040E05FE3C501B4010E94321D9B01AC0156 +:10138000C501B4010E94E71B0E944B1C6E157F052E +:101390000CF458C0EB85FC85208180E090E082173A +:1013A00050F4ED85FE85E80FF91F3285361101C036 +:1013B00072860196F4CFD1014C91552747FD509587 +:1013C000EB81FC812D853E85E20FF31FE481FF2731 +:1013D000E7FDF0959A012E0F3F1F21153105E1F42D +:1013E000C49EC001C59E900DD49E900D1124B901DC +:1013F0000E94B51D7B010E9FC0010F9F900D1E9F87 +:10140000900D1124B9010E94B51DE60EF71EAF81A3 +:10141000B885ED92FC920CC00C0D1D1D17FF02C08B +:101420000F5F1F4F15950795E981FA81118300839E +:10143000ED81FE812D853E85E20FF31FE15EFE4FBB +:101440001182108263945ACF742C3ACF2E960FB625 +:10145000F894DEBF0FBECDBFDF91CF911F910F91EA +:10146000FF90EF90DF90CF90BF90AF909F908F90C4 +:101470007F906F905F904F903F902F9008953F9294 +:101480004F925F926F927F928F929F92AF92BF9294 +:10149000CF92DF92EF92FF920F931F93CF93DF9340 +:1014A000EC018FEF8883FE01E55DFE4F30806E0119 +:1014B00000E010E0EE24EA94FE2C4E0188EF881A3A +:1014C0008EEF980A031508F06AC0F601E15EFE4F40 +:1014D0005F01FFEFEF16FF0639F5F501808191817D +:1014E00097FD22C0FE01E00FF11F6481772767FDA1 +:1014F0007095872F972F0E947E1C2B013C01F401D1 +:10150000608170E080E090E00E947E1C2BE734E177 +:101510004EE25EE30E94321D9B01AC01C301B201A9 +:101520000E942E1D1816A4F1F5012081318137FD8E +:1015300030C0C701880F991F8C0F9D1FFC01E15E11 +:10154000FE4F80819181281739071CF5FE01E00FBD +:10155000F11F6481772767FD7095872F972F0E9471 +:101560007E1C2B013C01F401608170E080E090E082 +:101570000E947E1C2BE734E14EE25EE30E94321DA6 +:101580009B01AC01C301B2010E942E1D18160CF480 +:1015900078010F5F1F4FF2E0CF0ED11C93CF8FEF7A +:1015A000E816F80641F0E882CF5EDE4F81E090E079 +:1015B0009983888301C080E0DF91CF911F910F91C3 +:1015C000FF90EF90DF90CF90BF90AF909F908F9063 +:1015D0007F906F905F904F903F9008958F929F9271 +:1015E000AF92BF92CF92DF92EF92FF920F931F9331 +:1015F000CF93DF93FC018C010F5E1E4FD8018D91BC +:101600009C911197019709F07CC05A96BC90BA94AE +:10161000C7E0AC2E6F01B8EFCB1ABEEFDB0AB7FC08 +:1016200070C02B2D332727FD3095C901880F991FD6 +:101630008E0F9F1FDC01A15EBE4FCD91DC91D7FFC5 +:101640005EC0D195C195D109C83682E4D80708F0AB +:1016500056C0E080FF24E7FCF094C701880F991F73 +:101660008E0F9F1FDC01A15EBE4F8D909C90CE011E +:10167000B4010E94A11D6832710508F040C0A89C09 +:10168000C001A99C900D11248C179D07C0F5DF01A6 +:10169000A20FB31F14968C9186308CF5D6014C9115 +:1016A00050E0BA0161507109912C892D90E08617A4 +:1016B000970784F4DF01A80FB91F1B96CC911B97E5 +:1016C000D0E0C217D307C9F41A96AC91B0E0AE15BA +:1016D000BF0599F4485251098417950784F4DF0136 +:1016E000A45DBE4FBC9282E090E0D8018D939C93A4 +:1016F000E75FFE4F908281E009C09394D6CFBA9401 +:101700008ECFE45DFE4F8FEF808380E0DF91CF913D +:101710001F910F91FF90EF90DF90CF90BF90AF900F +:101720009F908F9008950F931F93CF93DF938A011B +:10173000E9018EE394E00E941A18B8018EE394E068 +:101740000E941A18BE018EE394E0DF91CF911F91A1 +:101750000F910C941A18EF92FF920F931F93CF934F +:10176000DF93EC01F62EE42EB9018EE394E00E94A3 +:101770001A18EF1460F0FE01EF0DF11D4AE050E081 +:1017800062858EE394E00E943919F394F2CFB80198 +:101790008EE394E00E941A1880E0DF91CF911F91B0 +:1017A0000F91FF90EF90089570E0FC0126A1332780 +:1017B00027FD30956217730751F027A1332727FDC6 +:1017C000309581E06217730719F080E0089581E099 +:1017D000089570E0FC0120A5332727FD309562179E +:1017E000730751F021A5332727FD309581E062175B +:1017F000730719F080E0089581E008959F92AF92F9 +:10180000BF92CF92DF92EF92FF920F931F93CF93ED +:10181000DF9300D01F92CDB7DEB78C017B0120E3B0 +:1018200030E340E029833A834B83FC01668DF3E08B +:101830006F9FB0011124C7010E948319E114F104C4 +:1018400049F1912C83ECA82E81E0B82ECE010196AF +:101850006C01F801868D8915E8F0F80183A19816CE +:1018600020F4E90DF11D808101C08FEF1F928F934D +:10187000BF92AF92DF92CF920E94CA20B601C701F9 +:101880000E94BC1A93940F900F900F900F900F909E +:101890000F90DFCF0F900F900F90DF91CF911F919E +:1018A0000F91FF90EF90DF90CF90BF90AF909F90FF +:1018B00008950F931F93CF93DF938C01EB0160E2A8 +:1018C00070E0CE010E948319209709F468C068EC8B +:1018D00071E0CE010E94BC1AF80184A195A126A155 +:1018E000220F330B820F931FFC01E15EFE4F6081DC +:1018F0007181CE010E940B1B6BE3CE010E94CC1ABA +:101900006CEC71E0CE010E94BC1AF80184A195A193 +:1019100027A1220F330B820F931FFC01E15EFE4FC4 +:1019200060817181CE010E940B1B6BE3CE010E948E +:10193000CC1A60ED71E0CE010E94BC1AF80184A1BE +:1019400095A120A5220F330B820F931FFC01E15EAE +:10195000FE4F60817181CE010E940B1B6BE3CE01B3 +:101960000E94CC1A64ED71E0CE010E94BC1AF8010D +:1019700084A195A121A5220F330B820F931FFC0197 +:10198000E15EFE4F60817181CE010E940B1B6BE313 +:10199000CE01DF91CF911F910F910C94CC1ADF9162 +:1019A000CF911F910F9108950F931F93CF93DF93C2 +:1019B0008C01EB0167E070E0CE010E948319209753 +:1019C00099F068ED71E0CE010E94BC1AF80162A5A1 +:1019D00073A5CE010E940B1B6BE3CE01DF91CF916B +:1019E0001F910F910C94CC1ADF91CF911F910F9101 +:1019F00008954F925F926F927F928F929F92AF92D3 +:101A0000BF92CF92DF92EF92FF920F931F93CF93EB +:101A1000DF93EC010CA11DA1580185EDA81A8EEFF2 +:101A2000B80AF5018081843008F4C4C06801F8EF79 +:101A3000CF1AFEEFDF0AF601608170E080E090E0EF +:101A40000E947E1C2AE037ED43E25DE30E94321DD6 +:101A50000E94501C40E050E0912C812CEE24EA942E +:101A6000FE2C262F30E0F5018081481708F06BC06E +:101A7000642F70E0F801E60FF71FE4818E2F99279D +:101A800087FD9095821793070CF45BC0660F771F54 +:101A9000600F711FDB01A15EBE4F6D917C91161628 +:101AA00017064CF55E0F8394E60EF71EEFA1EF3F8D +:101AB00069F08E2F880F990B800F911FDC01A15EBA +:101AC000BE4F8D919C91861797070CF4E42FEFA3DE +:101AD000E9A5EF3F69F08E2F880F990B800F911FBA +:101AE000DC01A15EBE4F8D919C91681779070CF4C3 +:101AF000E42FE9A726C05E1B9394EEA1EF3F69F0A7 +:101B00008E2F880F990B800F911FDC01A15EBE4FB5 +:101B10008D919C91681779070CF4E42FEEA3E8A54A +:101B2000EF3F69F08E2F880F990B800F911FDC011A +:101B3000A15EBE4F8D919C91861797070CF4E42F00 +:101B4000E8A74F5F90CF652F70E080E090E00E94A3 +:101B50007E1C2B013C01F601608170E080E090E08A +:101B60000E947E1C2AE037ED43EA5CE30E94321DAE +:101B70009B01AC01C301B2010E942E1D1816D4F0C6 +:101B8000981018C0C70163E070E00E94B51D7BA7E4 +:101B90006AA79EA19F3F71F088A58F3F59F09817C3 +:101BA00049F02FA12F3F31F099A59F3F19F081E017 +:101BB000291301C080E0DF91CF911F910F91FF9019 +:101BC000EF90DF90CF90BF90AF909F908F907F90DD +:101BD0006F905F904F900895FC0183A12E2FDF013D +:101BE0009A2F921B981710F41D92FACF168E178E0B +:101BF00087E082A3089524E1FC0124A70C94EC0D56 +:101C00007F928F929F92AF92BF92CF92DF92EF928C +:101C1000FF920F931F93CF93DF93EC018CA19DA1B3 +:101C2000FC01E45FFE4F108233971082812CBB24AD +:101C3000B39437E0A32E0CA11DA1F801E85FFE4F7D +:101C40008081881608F0A3C08DA5811110C0F8010D +:101C5000E80DF11DF2846F2DCE010E94D40B81118D +:101C6000DFC06F2DCE010E94E90B8111D9C0CDA438 +:101C70000CA11DA1CC2079F18EA581112CC0C80129 +:101C8000885F9E4F7C01F801E80DF11DD2846D2D17 +:101C9000CE010E94D40B811105C0F7018081881606 +:101CA00008F4C8C0282DF70180818816A0F4C80167 +:101CB0008D0D911D8D0D911DFC01E15EFE4F9180FA +:101CC000991C9924991CF801E75FFE4F8080281920 +:101CD00009F0ACC0BEA68EA5882309F456C0CC205E +:101CE00009F453C0E82CF12C6801CE0CDF1CF6017E +:101CF0007284672DCE010E94D40B882311F09B249F +:101D00001CC0672DCE010E94E90B782E882309F4B0 +:101D100093C0F801E85FFE4F208130E02150310987 +:101D2000E216F3060CF088C0F6016385CE010E942E +:101D3000E90B882309F480C083944E8D8BA148174A +:101D400020F55AA1852F90E0292D332727FD3095C6 +:101D5000052E01C0220F0A94EAF7FE01E40FF11DDF +:101D60003081322B30832F8D2F5F2F8F28A1821B44 +:101D7000910997FD03C0521B5AA307C0AAA24F5F47 +:101D80004E8FFE01E40FF11D1082839454CF881210 +:101D90003AC0D801A75FBE4F4C91423058F12F8D09 +:101DA00030E08CA587FD8F5F8595992787FD9095FD +:101DB0008217930744F5841A80828CA19DA1FC01AF +:101DC000E85FFE4F408150E04F5F5F4F319660818A +:101DD00070E0665F7F4F680F791F0A960E9430207F +:101DE0008CA19DA1FC01E45FFE4F21E02083BD9604 +:101DF000208314C0411107C0D801A75CBE4F81E009 +:101E00008C9310820BC04F8D50E02CA5332727FDFB +:101E1000309581E0421753070CF071C080E06FC02D +:101E2000F801E75FFE4F8082BDA621CF20FF52CF91 +:101E3000839450CF839427CF4F8D50E02CA5332728 +:101E400027FD309542175307CCF4772089F0F8012D +:101E5000E85FFE4F808190E00197E816F90644F4B0 +:101E6000F6016385CE010E94E90B882309F442C084 +:101E70001DA61EA6CE010E94EC0D5FCFF801E65F05 +:101E8000FE4F80828CA19DA1FC01E85FFE4FDC012A +:101E9000A65FBE4F20818C91281B20838CA19DA121 +:101EA000FC01E85FFE4F408150E04F5F5F4F32968C +:101EB000608170E0665F7F4F680F791F0A960E940D +:101EC00030200CA11DA1F801E45FFE4FFF24F39424 +:101ED000F08234978081F801E80FF11D6285CE0110 +:101EE0000E94E90B882309F48ECFF801E75CFE4FCE +:101EF000F08294CFF801E75FFE4F8080B9CFDF9189 +:101F0000CF911F910F91FF90EF90DF90CF90BF90F6 +:101F1000AF909F908F907F9008953F924F925F92E5 +:101F20006F927F928F929F92AF92BF92CF92DF92E9 +:101F3000EF92FF920F931F93CF93DF9300D000D0C7 +:101F400000D0CDB7DEB77C015C0187ECA81A8EEF1C +:101F5000B80AF5018081811105C0F197808188322E +:101F600008F4A5C2C7010E942E0940E060E0C70145 +:101F70000E940E09C7010E943F0AC7010E94EE0A93 +:101F8000F7018381882309F427C1EF5EFE4F80812A +:101F90009181029709F020C14701F7EF8F1AFEEFF8 +:101FA0009F0AF40160815701F6EFAF1AFEEFBF0AF6 +:101FB00082E0860FF50180838701085F1E4FF801DC +:101FC0007081872F90E00197D701A45DBE4FF50186 +:101FD000D0802D2D30E0281739070CF5F701E20FDE +:101FE000F31F438550E02C91332727FD309542178E +:101FF000530781F4428550E0F7012081332727FD04 +:1020000030954217530731F4DA94F501D082DD247C +:10201000D39406C0D394D394F501D082D8CFD12CD9 +:10202000F5018081781708F47083F5014081C701BC +:102030000E940E09DD2051F0F501808190E0F4014D +:102040002081821B9109889734F4C2C0F801408135 +:102050004E3F08F09EC06701F3EDCF1AFEEFDF0A96 +:1020600063E072E0C6010E94181A87010D5C1E4FE2 +:1020700063E072E0C8010E94181A62E0C6010E9483 +:10208000CC1A6BED71E0C6010E94BC1A6BE3C6016D +:102090000E94CC1A312C370185ED681A8EEF780A30 +:1020A000F3018081381640F5432C512CF701E40DE3 +:1020B000F51D84818823F1F060E5C6010E94CC1AE9 +:1020C000632DC6010E94DF1A69ED71E0C6010E940E +:1020D000BC1AC201880F991F8E0D9F1DFC01E15E85 +:1020E000FE4F60817181C6010E940B1B6BE3C6012C +:1020F0000E94CC1A3394D4CF6EED71E0C6010E94D9 +:10210000BC1A6BE3C8010E94CC1A61EE71E0C801F1 +:102110000E94BC1AF7016081772767FD7095C8019E +:102120000E940B1B6BE3C8010E94CC1A65EE71E0A4 +:10213000C8010E94BC1AF701E45DFE4F6081772759 +:1021400067FD7095C8010E940B1B6BE3C8010E94DC +:10215000CC1AF701E35FFE4F8081882349F069EED6 +:1021600071E0C8010E94BC1A6BE3C8010E94CC1A3E +:1021700063E0C8010E94CC1A6AE0C8010E94CC1A30 +:102180009601F5014081F4016081C7010E94AB0B0B +:102190003AC1F40160816230D8F0F501808190E0AD +:1021A0008D3F9105ACF0461BF801408350E04F5F36 +:1021B0005F4F70E0665F7F4F6E0D7F1DC7010A960F +:1021C0000E94302081E0F701E45FFE4F808324C14C +:1021D000C7010E94A70820C1F7018181811104C0B5 +:1021E0008281882309F414C1F701EF5EFE4F8081DC +:1021F0009181019709F00CC14701F8EF8F1AFEEFAA +:102200009F0AF4018081883208F402C16701F3ED6E +:10221000CF1AFEEFDF0A63E072E0C6010E94181ACF +:1022200087010D5C1E4F63E072E0C8010E94181A1E +:1022300062E0C6010E94CC1AF7018281882309F46A +:1022400064C080912D04811143C08EE180932004ED +:1022500081E080931D0410921E048DEF93E00E9494 +:10226000EC0D20911D0487E090E0821B9109709194 +:102270001E0467E041E050E0262F30E0821793070C +:102280004CF49A01062E01C0220F0A94EAF7722B31 +:102290006150F2CF70931E048FEF809323048093DC +:1022A0002404809325048093260410922A0410921B +:1022B0002B04F0922204E09221048DEF93E00E941F +:1022C000FB0D81E080932D0486EA98E00E94A6171A +:1022D000F5018081811107C08DEF93E00E94FB0D15 +:1022E00081E180932904F5018081882339F08DEF05 +:1022F00093E00E94000E811199C085C08DEF93E09C +:102300000E94F90C8111F3CF7EC0F70181818823EF +:1023100009F479C06BEE71E0C6010E94BC1A6BE350 +:10232000C6010E94CC1A512C5701F5EDAF1AFEEFF1 +:10233000BF0AF5018081581648F5652C712CF7010C +:10234000E60DF71D84818823F9F06CEB71E0C6017E +:102350000E94BC1A652DC6010E94DF1A69ED71E06A +:10236000C6010E94BC1AC301880F991F8E0D9F1DC4 +:10237000FC01E15EFE4F60817181C6010E940B1B72 +:102380006BE3C6010E94CC1A5394D3CF6EED71E07B +:10239000C6010E94BC1A6BE3C8010E94CC1A61EE10 +:1023A00071E0C8010E94BC1AF7016081772767FDC0 +:1023B0007095C8010E940B1B6BE3C8010E94CC1AE8 +:1023C000F701E35FFE4F8081882349F069EE71E0F9 +:1023D000C8010E94BC1A6BE3C8010E94CC1A63E0DA +:1023E000C8010E94CC1A6AE0C8010E94CC1AF4010C +:1023F00040814150960160E0C7010E94AB0BF7019C +:10240000E45FFE4F108281E0F701E55FFE4FDECE14 +:10241000F701E55FFE4F1082F701E45FFE4F808118 +:10242000811145C0C7010E94A70841C063E072E066 +:10243000CE0101960E94C0196EED71E0CE010196A9 +:102440000E94181ABE016F5F7F4F8DEF93E00E94CC +:10245000FE0B6EEE71E0C6010E94BC1A6BE3C60172 +:102460000E94CC1AB6018DEF93E00E94590C6BE3E9 +:10247000C8010E94CC1AB8018DEF93E00E94D40CE1 +:1024800063E0C8010E94CC1A6AE0C8010E94CC1A1D +:102490009801AE014F5F5F4FB601C7010E94930BD9 +:1024A000F5011082CE0101960E945219ACCF2696FA +:1024B0000FB6F894DEBF0FBECDBFDF91CF911F9155 +:1024C0000F91FF90EF90DF90CF90BF90AF909F90D3 +:1024D0008F907F906F905F904F903F9008958F9274 +:1024E0009F92AF92BF92CF92DF92EF92FF920F93A3 +:1024F0001F93CF93DF931F92CDB7DEB74C018C01B2 +:10250000085F1E4FD8018C9190E08D3F910544F0FB +:1025100081E0F401E35FFE4F8083C4010E948D0FD0 +:10252000F401E05FFE4F10826401B9EECB1ABEEFFA +:10253000DB0AD601ED91FC91119780819181129671 +:102540000D90BC91A02D2D913C91D8014C915091B2 +:102550002C047401B5EDEB1ABEEFFB0AD7016C91A8 +:10256000651708F45C93442361F082279327B92E02 +:10257000BB1CBB24BB1C81E04D3F09F480E0B822AA +:1025800005C0D7011C9210922C04B12C608171817E +:10259000C40149830E94E808A82E498187FD2CC008 +:1025A000F401E40FF11D8287423030F081858A11F9 +:1025B00003C0C4010E94A7088A2D880F990B880DBB +:1025C000991DFC01E15EFE4FD6018D919C91208109 +:1025D0003181DC018D919C91280F391F37FF02C09A +:1025E0002F5F3F4F3595279531832083F8018081F8 +:1025F0008F5F808320E012C040E060E0C4010E9451 +:102600000E09D7018C91863041F480912C04F4019D +:10261000E80FF11D8481823024F421E0B1101DC047 +:1026200001C020E0F8018081A401455F5E4F5A019E +:10263000883248F081E0DA018C93C4010E948D0F4A +:1026400010922C046AC0C40129830E94A708F501D6 +:10265000108210922C0429810BC0D8018C918832F1 +:1026600038F083E090E0F401EF5EFE4F91838083C9 +:10267000222309F452C0F801408150912C0480E0DB +:1026800090E0242F30E0F9013197280D391DBF016A +:10269000680F791F6F3FAFEF7A07E1F00197D9011B +:1026A000A80FB91F1A96AC91A513F1CFCB010196D3 +:1026B000481BD8014C9350E04F5F5F4F655F7F4FE1 +:1026C000680D791DC4010A960E943020F8018081AE +:1026D0008F5F808340912C04D601ED91FC91208185 +:1026E0003181C401840F911D840F911DFC01E15EB5 +:1026F000FE4F31832083F8018081F401E80FF11D42 +:1027000042878F5FD8018C934F5F40932C044630F3 +:1027100021F410922C04F70140830F90DF91CF91A8 +:102720001F910F91FF90EF90DF90CF90BF90AF90EF +:102730009F908F900895CF93DF93EC01C55FDE4F9C +:102740001882FC01E75EFE4F0190F081E02D2081B0 +:102750003181DC01A95EBE4F0D90BC91A02D2D935F +:102760003C93DB012D913C91318320830E946F12B9 +:102770008881DF91CF91089508958230E8F4E82FA1 +:10278000F0E0EE0FFF1FE75FFE4F71836083813043 +:1027900041F0809169008C7F842B80936900E89AD6 +:1027A000089580916900440F551F440F551F837F82 +:1027B000842B80936900E99A0895823078F48130FF +:1027C00011F0E89801C0E998E82FF0E0EE0FFF1F44 +:1027D000E75FFE4F8CEB93E19183808308951F9216 +:1027E0000F920FB60F9211242F933F934F935F9345 +:1027F0006F937F938F939F93AF93BF93EF93FF93C9 +:10280000E0910901F0910A010995FF91EF91BF91C3 +:10281000AF919F918F917F916F915F914F913F9178 +:102820002F910F900FBE0F901F9018951F920F922F +:102830000FB60F9211242F933F934F935F936F9393 +:102840007F938F939F93AF93BF93EF93FF93E09109 +:102850000B01F0910C010995FF91EF91BF91AF91A0 +:102860009F918F917F916F915F914F913F912F91A8 +:102870000F900FBE0F901F9018951F920F920FB6DA +:102880000F9211242F933F938F939F93AF93BF93F6 +:102890008091360490913704A0913804B0913904A6 +:1028A0003091350423E0230F2D3720F40196A11D2C +:1028B000B11D05C026E8230F0296A11DB11D20936E +:1028C00035048093360490933704A0933804B09372 +:1028D000390480913A0490913B04A0913C04B0915A +:1028E0003D040196A11DB11D80933A0490933B04D1 +:1028F000A0933C04B0933D04BF91AF919F918F9101 +:102900003F912F910F900FBE0F901F9018952FB7EA +:10291000F894609136047091370480913804909156 +:1029200039042FBF08953FB7F89480913A049091ED +:102930003B04A0913C04B0913D0426B5A89B05C082 +:102940002F3F19F00196A11DB11D3FBF6627782FBB +:10295000892F9A2F620F711D811D911D42E0660F14 +:10296000771F881F991F4A95D1F70895CF92DF925C +:10297000EF92FF92CF93DF936B017C010E9493143F +:10298000EB01C114D104E104F10489F00E94E51BBC +:102990000E9493146C1B7D0B683E734090F381E0A2 +:1029A000C81AD108E108F108C851DC4FEACFDF911D +:1029B000CF91FF90EF90DF90CF90089582309105F6 +:1029C00038F0880F991F880F991F05970197F1F725 +:1029D0000895789484B5826084BD84B5816084BD97 +:1029E00085B5826085BD85B5816085BDEEE6F0E088 +:1029F000808181608083E1E8F0E0108280818260E4 +:102A00008083808181608083E0E8F0E08081816064 +:102A10008083E1EBF0E0808184608083E0EBF0E094 +:102A2000808181608083EAE7F0E080818460808338 +:102A300080818260808380818160808380818068E2 +:102A400080831092C1000895833081F028F4813092 +:102A500099F08230A1F008958730A9F08830B9F05C +:102A60008430D1F4809180008F7D03C080918000FC +:102A70008F7780938000089584B58F7702C084B5E6 +:102A80008F7D84BD08958091B0008F7703C08091C1 +:102A9000B0008F7D8093B0000895CF93DF9390E0D6 +:102AA000FC01E555FF4F2491FC01E154FF4F849157 +:102AB000882349F190E0880F991FFC01E352FF4FF2 +:102AC000A591B4918D529F4FFC01C591D4919FB7B0 +:102AD000611108C0F8948C91209582238C93888191 +:102AE00082230AC0623051F4F8948C91322F3095D1 +:102AF00083238C938881822B888304C0F8948C91E3 +:102B0000822B8C939FBFDF91CF9108950F931F93DA +:102B1000CF93DF931F92CDB7DEB7282F30E0F901B6 +:102B2000E956FF4F8491F901E555FF4F1491F901E2 +:102B3000E154FF4F04910023C9F0882321F06983F9 +:102B40000E9424156981E02FF0E0EE0FFF1FED5287 +:102B5000FF4FA591B4919FB7F8948C91611103C078 +:102B60001095812301C0812B8C939FBF0F90DF9123 +:102B7000CF911F910F910895FC01818D228D90E0DE +:102B8000805C9F4F821B91098F7399270895FC01E8 +:102B9000918D828D981731F0828DE80FF11D858D12 +:102BA00090E008958FEF9FEF0895FC01918D828D45 +:102BB000981761F0828DDF01A80FB11D5D968C9191 +:102BC000928D9F5F9F73928F90E008958FEF9FEF9C +:102BD000089589E597E1892B49F08EE598E0892BE6 +:102BE00029F00E94591781110C945E080895FC0188 +:102BF000848DDF01A80FB11DA35ABF4F2C91848D86 +:102C000090E001968F739927848FA689B7892C93BA +:102C1000A089B1898C9180648C93938D848D981355 +:102C200006C00288F389E02D80818F7D808308951E +:102C3000CF93DF93EC01888D8823C9F0EA89FB8963 +:102C4000808185FD05C0A889B9898C9186FD0FC05A +:102C50000FB607FCF5CF808185FFF2CFA889B9892F +:102C60008C9185FFEDCFCE010E94F715E7CFDF9164 +:102C7000CF910895CF92DF92FF920F931F93CF933E +:102C8000DF931F92CDB7DEB76C0181E0D601589675 +:102C90008C9358975B969C915B975C968C915C9714 +:102CA000981307C05096ED91FC915197808185FD56 +:102CB0002EC0F601038D10E00F5F1F4F0F73112719 +:102CC000F02EF601848DF81211C00FB607FCF9CF73 +:102CD000D6015096ED91FC915197808185FFF1CFFF +:102CE000C60169830E94F7156981EBCF838DE80FD8 +:102CF000F11DE35AFF4F6083D6015B960C935B97FF +:102D00005296ED91FC915397808180620CC0D60160 +:102D10005696ED91FC91579760835096ED91FC91FA +:102D2000519780818064808381E090E00F90DF91F3 +:102D3000CF911F910F91FF90DF90CF900895BF9298 +:102D4000CF92DF92EF92FF92CF93DF93EC016A0173 +:102D50007B01B22EE889F98982E08083411581EEFA +:102D6000580761057105A1F060E079E08DE390E01E +:102D7000A70196010E94C91D21503109410951093D +:102D80005695479537952795211580E1380798F096 +:102D9000E889F989108260E874E88EE190E0A70183 +:102DA00096010E94C91D21503109410951095695CA +:102DB000479537952795EC85FD853083EE85FF8512 +:102DC0002083188EEC89FD89B082EA89FB89808195 +:102DD00080618083EA89FB89808188608083EA89B9 +:102DE000FB89808180688083EA89FB8980818F7D6F +:102DF0008083DF91CF91FF90EF90DF90CF90BF90D5 +:102E000008951F920F920FB60F9211242F938F9354 +:102E10009F93EF93FF93E0914E04F0914F048081D4 +:102E2000E0915404F091550482FD12C0908180918C +:102E300057048F5F8F7320915804821751F0E091EF +:102E40005704F0E0E25CFB4F958F8093570401C07C +:102E50008081FF91EF919F918F912F910F900FBEE5 +:102E60000F901F9018951F920F920FB60F9211247A +:102E70002F933F934F935F936F937F938F939F9382 +:102E8000AF93BF93EF93FF938EE394E00E94F71507 +:102E9000FF91EF91BF91AF919F918F917F916F9132 +:102EA0005F914F913F912F910F900FBE0F901F9008 +:102EB00018958EE394E00E94BC1521E0892B09F45B +:102EC00020E0822F0895109241041092400488EE71 +:102ED00093E0A0E0B0E08093420490934304A09379 +:102EE0004404B093450485EF91E090933F048093B0 +:102EF0003E0485EC90E090934B0480934A0484EC6C +:102F000090E090934D0480934C0480EC90E090937B +:102F10004F0480934E0481EC90E090935104809391 +:102F2000500482EC90E0909353048093520486EC1A +:102F300090E090935504809354041092570410929B +:102F400058041092590410925A04089580E090E0B9 +:102F5000089508950E94E9140E94A9170E94C507C8 +:102F6000C9EED5E10E9456072097E1F30E94E915CA +:102F7000F9CFCF92DF92EF92FF920F931F93CF93EF +:102F8000DF937C016A01EB0100E010E00C151D05E8 +:102F900071F06991D701ED91FC910190F081E02DE4 +:102FA000C7010995892B19F00F5F1F4FEFCFC8019B +:102FB000DF91CF911F910F91FF90EF90DF90CF9015 +:102FC00008956115710581F0DB010D900020E9F78E +:102FD000AD0141505109461B570BDC01ED91FC91AD +:102FE0000280F381E02D099480E090E00895EF9253 +:102FF000FF920F931F93CF93DF938C017B01C0E06F +:10300000D0E0F701EC0FFD1F6491662359F0F80141 +:10301000A081B181ED91FC91C8010995892B11F036 +:103020002196EFCFCE01DF91CF911F910F91FF90AD +:10303000EF900895DC01ED91FC91DB0114964D9128 +:103040005C9115976D917C910280F381E02D09943C +:10305000DC01ED91FC910190F081E02D099461E09B +:1030600072E00C94E1170F931F93CF93DF93EC0161 +:103070000E94F7178C01CE010E942F18800F911F1C +:10308000DF91CF911F910F9108950F931F93CF93CD +:10309000DF93EC010E941A188C01CE010E942F18B8 +:1030A000800F911FDF91CF911F910F9108950F9382 +:1030B0001F93CF93DF93EC010E94E1178C01CE01A7 +:1030C0000E942F18800F911FDF91CF911F910F91B8 +:1030D00008958F929F92AF92BF92CF92DF92EF921C +:1030E000FF920F931F93CF93DF93CDB7DEB7A197D6 +:1030F0000FB6F894DEBF0FBECDBF7C01C42EE52F06 +:10310000CB01D22E19A221E02D1510F02AE0D22EEB +:103110008E010F5D1F4F8D2C912CA12CB12C6C2D8D +:103120007E2FA50194010E94C91D8C2DD29E80196D +:103130001124015011098A3014F4805D01C0895CAA +:10314000F8018083211531054105510521F0C22E7A +:10315000E32FCA01E4CFB801C7010E94E117A1968D +:103160000FB6F894DEBF0FBECDBFDF91CF911F9198 +:103170000F91FF90EF90DF90CF90BF90AF909F9016 +:103180008F900895CF92DF92EF92FF920F931F934B +:10319000CF93DF93EC016A017B012115310579F4AE +:1031A000E881F9810190F081E02D642FDF91CF91CA +:1031B0001F910F91FF90EF90DF90CF9009942A30EC +:1031C0003105E9F477FF1AC06DE20E9428188C01DE +:1031D00044275527BA014C195D096E097F092AE079 +:1031E000CE010E946918800F911FDF91CF911F912E +:1031F0000F91FF90EF90DF90CF9008952AE0B701F4 +:10320000A601CE01DF91CF911F910F91FF90EF901A +:10321000DF90CF900C9469189A01AB01662757FD97 +:103220006095762F0C94C2180F931F93CF93DF9362 +:10323000EC019A01AB01662757FD6095762F0E943D +:10324000C2188C01CE010E942F18800F911FDF91B0 +:10325000CF911F910F9108952115310541F4DC01A3 +:10326000ED91FC910190F081E02D642F09940C9474 +:1032700069189A01462F50E060E070E00C942C1918 +:103280000F931F93CF93DF93EC010E942C198C01B5 +:10329000CE010E942F18800F911FDF91CF911F91B7 +:1032A0000F910895FC01808191810C94891ECF9328 +:1032B000DF93EC0188819981009711F00E94891EAB +:1032C000198218821D821C821B821A82DF91CF9183 +:1032D00008950F931F93CF93DF93EC018B016F5FE2 +:1032E0007F4F888199810E94181F009731F0998340 +:1032F00088831B830A8381E001C080E0DF91CF9146 +:103300001F910F910895CF93DF93EC0188819981EC +:10331000892B29F08A819B818617970760F4CE015B +:103320000E946919882341F08C819D81892B19F4B1 +:10333000E881F981108281E0DF91CF910895EF92C9 +:10334000FF920F931F93CF93DF93EC017B018A01D0 +:10335000BA010E948319811104C0CE010E9457193D +:1033600007C01D830C83B701888199810E94422088 +:10337000CE01DF91CF911F910F91FF90EF900895B3 +:10338000FC0111821082138212821582148261154F +:10339000710559F0FB0101900020E9F7AF014150A0 +:1033A0005109461B570B0C949F1908950F931F93B7 +:1033B000CF93DF938C01EB01FC0180819181009719 +:1033C00099F0428153812C813D814217530750F07F +:1033D000688179810E9442208C819D81F8019583CA +:1033E000848313C00E94891E88819981F80191838A +:1033F00080838A819B81938382838C819D81958345 +:103400008483198218821B821A821D821C82DF919A +:10341000CF911F910F910895CF93DF93EC01861701 +:10342000970711F00E94D619CE01DF91CF91089530 +:10343000CF93DF93EC016115710561F0FB01019001 +:103440000020E9F7AF0141505109461B570B0E947C +:103450009F1902C00E945719CE01DF91CF910895A4 +:103460000F931F93CF93DF93CDB7DEB729970FB696 +:10347000F894DEBF0FBECDBF8C01862FF8011182FC +:103480001082138212821582148250E0BE016F5F97 +:103490007F4F90E00E94A520BE016F5F7F4FC80163 +:1034A0000E94181A29960FB6F894DEBF0FBECDBF42 +:1034B000DF91CF911F910F9108950F931F93CF9399 +:1034C000DF93CDB7DEB762970FB6F894DEBF0FBEBD +:1034D000CDBF8C01CB01F8011182108213821282C0 +:1034E0001582148250E0BE016F5F7F4F0E947220F0 +:1034F000BE016F5F7F4FC8010E94181A62960FB617 +:10350000F894DEBF0FBECDBFDF91CF911F910F9119 +:103510000895EF92FF920F931F93CF93DF93EC01E7 +:103520007B010C811D816115710511F480E016C0CD +:103530004115510591F0040F151FB8010E94831920 +:103540008823A1F3288139818C819D81B701820F65 +:10355000931F0E9442201D830C8381E0DF91CF9155 +:103560001F910F91FF90EF900895FB0144815581C9 +:10357000608171810C94891A6115710559F0FB0104 +:1035800001900020E9F7AF0141505109461B570B4C +:103590000C94891A80E00895CF93DF9300D0CDB7C3 +:1035A000DEB769831A8241E050E0BE016F5F7F4F52 +:1035B0000E94891A0F900F90DF91CF910895EF929A +:1035C000FF920F931F93CF93DF9300D000D0CDB71E +:1035D000DEB77C01862F4AE08E010F5F1F4FB801D6 +:1035E00090E00E947D20F80101900020E9F7AF01F2 +:1035F00041505109401B510BB801C7010E94891A63 +:103600000F900F900F900F90DF91CF911F910F911E +:10361000FF90EF900895EF92FF920F931F93CF9337 +:10362000DF93CDB7DEB728970FB6F894DEBF0FBE95 +:10363000CDBF7C01CB014AE08E010F5F1F4FB80167 +:103640000E947D20F80101900020E9F7AF01415070 +:103650005109401B510BB801C7010E94891A2896D5 +:103660000FB6F894DEBF0FBECDBFDF91CF911F9193 +:103670000F91FF90EF900895FC012481358162172E +:10368000730748F480819181009729F0FC01E60FCF +:10369000F71F8081089580E008950C943C1B0F93E0 +:1036A0001F93CF93DF93EB0141155105E9F020976C +:1036B000D9F0FC016481758126173707A0F4621BDD +:1036C000730B8A01015011096017710708F48B010F +:1036D000FC0160817181620F731FA801CE010E94FD +:1036E0004920C00FD11F1882DF91CF911F910F91F8 +:1036F0000895CF93DF93FC01848195814817590782 +:1037000078F4C081D181FB0160817181CE01840F89 +:10371000951F0E945820009719F08C1B9D0B02C02A +:103720008FEF9FEFDF91CF910895BF92CF92DF92FD +:10373000EF92FF920F931F93CF93DF936C017B0166 +:10374000EA0189012417350720F48D2FE901042FA0 +:10375000182F63E072E0C6010E94C019D7011496C9 +:103760008D919C911597C817D907C8F480179107B8 +:1037700008F48C01D701ED91FC911197E00FF11F36 +:10378000B08010826D917C916C0F7D1FC6010E94EC +:10379000181AD701ED91FC91E00FF11FB082C6011C +:1037A000DF91CF911F910F91FF90EF90DF90CF901D +:1037B000BF900895FC0180819181009711F00C94D5 +:1037C000002060E070E0CB01089508955058BB27B9 +:1037D000AA270ED009C1FAD030F0FFD020F031F482 +:1037E0009F3F11F41EF4EFC00EF4E095E7FBE5C037 +:1037F000E92F0BD180F3BA17620773078407950787 +:1038000018F071F49EF523C10EF4E0950B2EBA2F3B +:10381000A02D0B01B90190010C01CA01A0011124D6 +:10382000FF27591B99F0593F50F4503E68F11A1682 +:10383000F040A22F232F342F4427585FF3CF469513 +:1038400037952795A795F0405395C9F77EF41F1635 +:10385000BA0B620B730B840BBAF09150A1F0FF0FFF +:10386000BB1F661F771F881FC2F70EC0BA0F621FEB +:10387000731F841F48F4879577956795B795F795DB +:103880009E3F08F0B3CF9395880F08F09927EE0F6D +:1038900097958795089504D06894B111D9C008957B +:1038A000BCD088F09F5790F0B92F9927B751A0F05E +:1038B000D1F0660F771F881F991F1AF0BA95C9F7C4 +:1038C00012C0B13081F0C3D0B1E00895C0C0672FFD +:1038D000782F8827B85F39F0B93FCCF38695779574 +:1038E0006795B395D9F73EF490958095709561955D +:1038F0007F4F8F4F9F4F0895E89409C097FB3EF488 +:1039000090958095709561957F4F8F4F9F4F99232C +:10391000A9F0F92F96E9BB279395F69587957795AA +:103920006795B795F111F8CFFAF4BB0F11F460FF6A +:103930001BC06F5F7F4F8F4F9F4F16C0882311F0C2 +:1039400096E911C0772321F09EE8872F762F05C0D6 +:10395000662371F096E8862F70E060E02AF09A9571 +:10396000660F771F881FDAF7880F9695879597F966 +:103970000895990F0008550FAA0BE0E8FEEF161600 +:103980001706E807F907C0F012161306E407F50753 +:1039900098F0621B730B840B950B39F40A2661F0C7 +:1039A000232B242B252B21F408950A2609F4A1406A +:1039B000A6958FEF811D811D089597F99F6780E877 +:1039C00070E060E008959FEF80EC089500240A9471 +:1039D0001616170618060906089500240A941216EA +:1039E0001306140605060895092E0394000C11F41D +:1039F000882352F0BB0F40F4BF2B11F460FF04C0CA +:103A00006F5F7F4F8F4F9F4F089557FD9058440F22 +:103A1000551F59F05F3F71F04795880F97FB991F2D +:103A200061F09F3F79F087950895121613061406EA +:103A3000551FF2CF4695F1DF08C016161706180677 +:103A4000991FF1CF86957105610508940895E89452 +:103A5000BB2766277727CB0197F908958ADF08F4FB +:103A60008FEF08950BD0C0CFB1DF28F0B6DF18F08C +:103A7000952309F0A2CFA7CF1124EACFC6DFA0F388 +:103A8000959FD1F3950F50E0551F629FF001729FF3 +:103A9000BB27F00DB11D639FAA27F00DB11DAA1F12 +:103AA000649F6627B00DA11D661F829F2227B00D5F +:103AB000A11D621F739FB00DA11D621F839FA00DEA +:103AC000611D221F749F3327A00D611D231F849F3A +:103AD000600D211D822F762F6A2F11249F57504091 +:103AE0008AF0E1F088234AF0EE0FFF1FBB1F661F2C +:103AF000771F881F91505040A9F79E3F510570F0E5 +:103B00005CCFA6CF5F3FECF3983EDCF386957795CC +:103B10006795B795F795E7959F5FC1F7FE2B880FDF +:103B2000911D9695879597F90895991B79E004C0A2 +:103B3000991F961708F0961B881F7A95C9F78095EC +:103B40000895AA1BBB1B51E107C0AA1FBB1FA617E4 +:103B5000B70710F0A61BB70B881F991F5A95A9F736 +:103B600080959095BC01CD01089597FB072E16F422 +:103B7000009407D077FD09D00E94A11D07FC05D055 +:103B80003EF4909581959F4F0895709561957F4F74 +:103B90000895A1E21A2EAA1BBB1BFD010DC0AA1F8E +:103BA000BB1FEE1FFF1FA217B307E407F50720F0A6 +:103BB000A21BB30BE40BF50B661F771F881F991F21 +:103BC0001A9469F760957095809590959B01AC016A +:103BD000BD01CF010895EE0FFF1F0590F491E02D78 +:103BE0000994CF93DF938230910510F482E090E046 +:103BF000E091DD04F091DE0420E030E0A0E0B0E0F0 +:103C0000309739F14081518148175907B8F048176A +:103C1000590771F482819381109729F013969C9330 +:103C20008E9312972CC09093DE048093DD0427C0FE +:103C30002115310531F04217530718F0A901DB01B6 +:103C400001C0EF019A01BD01DF010280F381E02D87 +:103C5000D7CF21153105F9F0281B390B2430310558 +:103C600080F48A819B816115710521F0FB019383AA +:103C7000828304C09093DE048093DD04FE013296BB +:103C800044C0FE01E20FF31F81939193225031094A +:103C9000398328833AC02091DB043091DC04232B44 +:103CA00041F420910201309103013093DC04209310 +:103CB000DB0420910001309101012115310541F40F +:103CC0002DB73EB74091040150910501241B350BDF +:103CD000E091DB04F091DC04E217F307A0F42E1B63 +:103CE0003F0B2817390778F0AC014E5F5F4F241760 +:103CF000350748F04E0F5F1F5093DC044093DB0400 +:103D00008193919302C0E0E0F0E0CF01DF91CF9189 +:103D10000895CF93DF93009709F487C0FC01329791 +:103D200013821282C091DD04D091DE04209781F4C9 +:103D300020813181280F391F8091DB049091DC04B0 +:103D40008217930779F5F093DC04E093DB046DC0F0 +:103D5000DE0120E030E0AE17BF0750F412964D911F +:103D60005C9113979D014115510509F1DA01F3CFDB +:103D7000B383A28340815181840F951F8A179B07CB +:103D800071F48D919C911197840F951F02969183E8 +:103D9000808312968D919C91139793838283211532 +:103DA000310529F4F093DE04E093DD043EC0D9012F +:103DB0001396FC93EE9312974D915D91A40FB51F4E +:103DC000EA17FB0779F480819181840F951F029691 +:103DD000D90111969C938E938281938113969C9323 +:103DE0008E931297E0E0F0E08A819B81009719F0B2 +:103DF000FE01EC01F9CFCE01029628813981820FB4 +:103E0000931F2091DB043091DC042817390769F4F3 +:103E1000309729F41092DE041092DD0402C0138260 +:103E20001282D093DC04C093DB04DF91CF9108951C +:103E3000A0E0B0E0EEE1FFE10C948E23EC01CB01B9 +:103E4000209719F40E94F11DB8C0FE01E60FF71F7C +:103E50009E0122503109E217F30708F4ACC0D901E2 +:103E60000D911C91119706171707B8F00530110531 +:103E700008F49FC0A801445051094617570708F499 +:103E800098C002501109061B170B019311936D93F3 +:103E90007C93CF010E94891E8CC05B01A01AB10ADD +:103EA0004E01800E911EA091DD04B091DE04612CC4 +:103EB000712C60E070E0109709F449C0A815B905AD +:103EC000C9F5ED90FC901197670142E0C40ED11C3A +:103ED000CA14DB0478F147018A189B08640142E0A8 +:103EE000C40ED11C1296BC9012971396AC91B5E0FB +:103EF000CB16D10440F0B282A38391828082D90193 +:103F00008D939C9309C00E5F1F4F0E0D1F1DF9016D +:103F100011830083EB2DFA2F6115710531F0DB0160 +:103F20001396FC93EE93129744C0F093DE04E09353 +:103F3000DD043FC06D917C9111976616770608F4F9 +:103F40003B01BD0112960D90BC91A02DB4CF6091A4 +:103F5000DB047091DC0468157905E9F468167906CC +:103F6000D0F440910001509101014115510541F4F7 +:103F70004DB75EB76091040170910501461B570B68 +:103F8000E417F507C0F4F093DC04E093DB04F901D7 +:103F9000918380830EC00E94F11D7C01009759F02F +:103FA000A801BE010E942720CE010E94891EC701E0 +:103FB00004C0CE0102C080E090E0CDB7DEB7EEE0F5 +:103FC0000C94AA23FC0188279927E8942191203298 +:103FD000E9F3293010F02E30C8F32B3241F02D32A6 +:103FE00039F4689404C00E949D20820F911D219194 +:103FF00020532A30C0F31EF4909581959F4F089569 +:104000001F93FC0199278827BC01E8941191103275 +:10401000E9F3193010F01E30C8F31B3251F01D3295 +:1040200049F4689406C00E948820610F711D811DAB +:10403000911D119110531A30B0F33EF49095809574 +:10404000709561957F4F8F4F9F4F1F910895FB0192 +:10405000DC0102C001900D9241505040D8F7089504 +:104060006817790768F4FB01DC01E40FF51FA40F62 +:10407000B51F02C002900E9241505040D8F70895EB +:104080000C942720FB01DC0101900D920020E1F748 +:104090000895FB01DC014150504048F001900D9221 +:1040A0000020C9F701C01D9241505040E0F708952B +:1040B000FB0151915523A9F0BF01DC014D9145173A +:1040C0004111E1F759F4CD010190002049F04D91E3 +:1040D00040154111C9F3FB014111EFCF81E090E0A0 +:1040E000019708954532510520F4423010F00C94A8 +:1040F0007D20FB011082CB010895BB274A3031F4AB +:10410000992322F4BDE2909581959F4F0C94B120A4 +:10411000592F482F372F262F660F771F881F991F7B +:10412000660F771F881F991F620F731F841F951FCB +:10413000660F771F881F991F08957AE0979F902D2B +:10414000879F802D910D112408954532510520F44B +:10415000423010F00C94B020FB011082CB01089586 +:10416000BB27FB015527AA27880F991FAA1FA41751 +:1041700010F0A41B83955051B9F7A05DAA3308F045 +:10418000A95DA193009779F7B111B1931192CB0179 +:104190000C94EA22AEE0B0E0E0EDF0E20C9498235B +:1041A0000D891E8986E08C831A8309838FEF9FE730 +:1041B0009E838D83AE01475E5F4F6F89788DCE0100 +:1041C00001960E94EC20EF81F885E00FF11F10822C +:1041D0002E96E4E00C94B423ACE0B0E0E2EFF0E221 +:1041E0000C948A237C016B018A01FC0117821682E0 +:1041F000838181FFBDC1CE0101964C01F7019381FE +:10420000F60193FD859193FF81916F01882309F455 +:10421000ABC1853239F493FD859193FF81916F0194 +:10422000853229F4B70190E00E94FA22E7CF512CA1 +:10423000312C20E02032A0F48B3269F030F480324F +:1042400059F0833269F420612CC08D3239F080330B +:1042500039F4216026C02260246023C0286021C078 +:1042600027FD27C030ED380F3A3078F426FF06C01E +:10427000FAE05F9E300D1124532E13C08AE0389E61 +:10428000300D1124332E20620CC08E3221F426FD15 +:104290006BC1206406C08C3611F4206802C08836D9 +:1042A00041F4F60193FD859193FF81916F01811196 +:1042B000C1CF982F9F7D9554933028F40C5F1F4FEA +:1042C000FFE3F9830DC0833631F0833771F0833516 +:1042D00009F05BC022C0F801808189830E5F1F4F07 +:1042E00044244394512C540115C03801F2E06F0E60 +:1042F000711CF801A080B18026FF03C0652D70E01D +:1043000002C06FEF7FEFC5012C870E94DF222C01D6 +:1043100083012C852F77222E17C03801F2E06F0E13 +:10432000711CF801A080B18026FF03C0652D70E0EC +:1043300002C06FEF7FEFC5012C870E94D4222C01B1 +:104340002C852068222E830123FC1BC0832D90E046 +:1043500048165906B0F4B70180E290E00E94FA22B4 +:104360003A94F4CFF50127FC859127FE81915F01F6 +:10437000B70190E00E94FA2231103A94F1E04F1A0E +:1043800051084114510471F7E5C0843611F08936A3 +:1043900039F5F80127FF07C060817181828193811F +:1043A0000C5F1F4F08C060817181882777FD809561 +:1043B000982F0E5F1F4F2F76B22E97FF09C0909552 +:1043C0008095709561957F4F8F4F9F4F2068B22EDB +:1043D0002AE030E0A4010E942C23A82EA81844C093 +:1043E000853729F42F7EB22E2AE030E025C0F22F47 +:1043F000F97FBF2E8F36C1F018F4883579F0B4C03C +:10440000803719F0883721F0AFC02F2F2061B22EEE +:10441000B4FE0DC08B2D8460B82E09C024FF0AC0E5 +:104420009F2F9660B92E06C028E030E005C020E13D +:1044300030E002C020E132E0F801B7FE07C0608141 +:104440007181828193810C5F1F4F06C060817181F1 +:1044500080E090E00E5F1F4FA4010E942C23A82E45 +:10446000A818FB2DFF77BF2EB6FE0BC02B2D2E7F7D +:10447000A51450F4B4FE0AC0B2FC08C02B2D2E7E49 +:1044800005C07A2C2B2D03C07A2C01C0752C24FF7B +:104490000DC0FE01EA0DF11D8081803311F4297EEB +:1044A00009C022FF06C07394739404C0822F8678DB +:1044B00009F0739423FD13C020FF06C05A2C731417 +:1044C00018F4530C5718732C731468F4B70180E276 +:1044D00090E02C870E94FA2273942C85F5CF7314F8 +:1044E00010F4371801C0312C24FF12C0B70180E34B +:1044F00090E02C870E94FA222C8522FF17C021FF12 +:1045000003C088E590E002C088E790E0B7010CC0E6 +:10451000822F867859F021FD02C080E201C08BE233 +:1045200027FD8DE2B70190E00E94FA22A51438F42D +:10453000B70180E390E00E94FA225A94F7CFAA9440 +:10454000F401EA0DF11D8081B70190E00E94FA228A +:10455000A110F5CF332009F451CEB70180E290E0ED +:104560000E94FA223A94F6CFF7018681978102C021 +:104570008FEF9FEF2C96E2E10C94A623F999FECFE2 +:1045800092BD81BDF89A992780B50895262FF99993 +:10459000FECF1FBA92BD81BD20BD0FB6F894FA9A26 +:1045A000F99A0FBE01960895FC0105906150704084 +:1045B0000110D8F7809590958E0F9F1F0895FC01EC +:1045C0006150704001900110D8F7809590958E0F42 +:1045D0009F1F0895DC01FC01672F71917723E1F79C +:1045E000329704C07C916D9370836291AE17BF07C0 +:1045F000C8F308950F931F93CF93DF93182F092FBC +:10460000EB018B8181FD03C08FEF9FEF20C082FF04 +:1046100010C04E815F812C813D81421753077CF48D +:10462000E881F9819F012F5F3F4F398328831083F1 +:1046300006C0E885F985812F0995892B29F72E81F8 +:104640003F812F5F3F4F3F832E83812F902FDF913C +:10465000CF911F910F910895FA01AA27283051F1A7 +:10466000203181F1E8946F936E7F6E5F7F4F8F4FA3 +:104670009F4FAF4FB1E03ED0B4E03CD0670F781F02 +:10468000891F9A1FA11D680F791F8A1F911DA11DE7 +:104690006A0F711D811D911DA11D20D009F4689420 +:1046A0003F912AE0269F11243019305D3193DEF6C8 +:1046B000CF010895462F4770405D4193B3E00FD07E +:1046C000C9F7F6CF462F4F70405D4A3318F0495D69 +:1046D00031FD4052419302D0A9F7EACFB4E0A6954C +:1046E0009795879577956795BA95C9F7009761056E +:1046F000710508959B01AC010A2E069457954795C4 +:1047000037952795BA95C9F7620F731F841F951FB8 +:10471000A01D08952F923F924F925F926F927F92C9 +:104720008F929F92AF92BF92CF92DF92EF92FF92C1 +:104730000F931F93CF93DF93CDB7DEB7CA1BDB0B6D +:104740000FB6F894DEBF0FBECDBF09942A88398812 +:1047500048885F846E847D848C849B84AA84B98419 +:10476000C884DF80EE80FD800C811B81AA81B98125 +:10477000CE0FD11D0FB6F894DEBF0FBECDBFED0139 +:10478000089510E0CCEED0E004C0FE010E94ED1DC3 +:0C4790002296CE3ED107C9F7F894FFCF67 +:10479C000000DF0480002C0106BC13BC133B004955 +:1047AC0054506172616D733A20004F4B00562033A8 +:1047BC002E322E30205349474E414C6475696E6F32 +:1047CC00202D20636F6D70696C65642061742046C8 +:1047DC00656220323220323031362032313A333079 +:1047EC003A33390053796E633A2000202D3E205322 +:1047FC00796E63466163743A20002C20436C6F63BE +:10480C006B3A20002C20546F6C3A20002C20506105 +:10481C0074744C656E3A20002C2050756C73653A9C +:10482C0020002C20002C206D53746172743A2000EF +:10483C005369676E616C3A20002E2000205B005D8E +:10484C00005061747465726E3A20002050002A5B2F +:10485C00002C0025303258004C4C3D004C483D009B +:10486C00534C3D0053483D00433D004D5300443DE7 +:10487C000043503D0053503D004F004D55004D43FB +:10488C0000000000003A16B917BC15D515C715184D +:10489C00160D0A006E616E00696E66006F7666001A +:0248AC002E00DC :00000001FF diff --git a/fhem/FHEM/firmware/SIGNALduino_uno.hex b/fhem/FHEM/firmware/SIGNALduino_uno.hex index 7cc2cfe53..cc1c605e4 100644 --- a/fhem/FHEM/firmware/SIGNALduino_uno.hex +++ b/fhem/FHEM/firmware/SIGNALduino_uno.hex @@ -1,1213 +1,1165 @@ -:100000000C946B000C94F51D0C94221E0C94930020 -:100010000C9493000C9493000C9493000C94930014 -:100020000C9493000C9493000C9493000C94930004 -:100030000C9493000C94F2120C9493000C94930083 -:100040000C944F1E0C9493000C94A7190C94F51962 -:100050000C9493000C9493000C9493000C949300D4 -:100060000C9493000C94930020557365206F6E657B -:10007000206F66200000000000240027002A0000F6 -:10008000000000250028002B0000000000230026AF -:10009000002900040404040404040402020202020D -:1000A000020303030303030102040810204080013C -:1000B00002040810200102040810200000000700BC -:1000C0000201000003040600000000000000000020 -:1000D0005613611B4F1311241FBECFEFD8E0DEBFB4 -:1000E000CDBF12E0A0E0B1E0E6E5FAE402C0059081 -:1000F0000D92A835B107D9F715E0A8E5B2E001C027 -:100100001D92A835B107E1F710E0C4EDD0E004C0BE -:100110002297FE010E94E324C03DD107C9F70E9447 -:10012000B71B0C941E250C9400000F931F93CF93C4 -:10013000DF93689F8001699F100D789F100D112437 -:10014000C8010E94B100EC01009729F060E070E066 -:10015000A8010E94ED02CE01DF91CF911F910F9176 -:100160000895CF93DF93BC018230910510F462E0D3 -:1001700070E0A0915605B0915705ED01E0E0F0E088 -:1001800040E050E021C0888199818617970769F483 -:100190008A819B81309719F09383828304C0909366 -:1001A000570580935605FE0134C06817790738F467 -:1001B0004115510519F08417950708F4AC01FE01AB -:1001C0008A819B819C01E9012097E9F6411551053F -:1001D000A9F1CA01861B970B049708F4BA01E0E065 -:1001E000F0E02AC08D919C91119784179507F9F43E -:1001F0006417750781F412968D919C91139730972F -:1002000019F09383828304C0909357058093560519 -:10021000FD0132964CC0CA01861B970BFD01E80F09 -:10022000F91F6193719302978D939C9340C0FD01D8 -:10023000828193819C01D9011097A1F68091540588 -:1002400090915505892B41F48091140290911502EB -:1002500090935505809354054091160250911702D2 -:100260004115510541F44DB75EB78091120290914E -:100270001302481B590B2091540530915505CA01B2 -:10028000821B930B8617970780F0AB014E5F5F4F81 -:100290008417950750F0420F531F50935505409314 -:1002A0005405F9016193719302C0E0E0F0E0CF01E1 -:1002B000DF91CF910895CF93DF93009709F450C059 -:1002C000EC0122971B821A82A0915605B091570526 -:1002D000109709F140E050E0AC17BD0708F1BB836F -:1002E000AA83FE0121913191E20FF31FAE17BF07E0 -:1002F00079F48D919C911197280F391F2E5F3F4FF4 -:100300003983288312968D919C9113979B838A83BE -:100310004115510571F4D0935705C093560520C07F -:1003200012968D919C911397AD01009711F0DC010D -:10033000D3CFFA01D383C28321913191E20FF31F0E -:10034000CE17DF0769F488819981280F391F2E5F46 -:100350003F4FFA01318320838A819B81938382837B -:10036000DF91CF910895A0E0B0E0E9EBF1E00C94CB -:10037000E9246C01009729F4CB010E94B1006C01C3 -:10038000C1C08EEF882E8FEF982E8C0C9D1C86019D -:10039000060F171F0815190508F4B2C0F401A08153 -:1003A000B181A617B707B8F0A530B10508F4AAC007 -:1003B000CD0104978617970708F4A4C01297A61BCF -:1003C000B70BF801A193B193D4016D937C93CF0146 -:1003D0000E945B0197C07B01EA1AFB0AEEEFFFEF78 -:1003E000EE0EFF1E36016A0E7B1EC0915605D0919F -:1003F000570544245524AA24BB244AC0C615D70552 -:10040000E1F5488159814E155F05B8F1CA0104979D -:100410008E159F05B0F41296A40FB51FF401B18399 -:10042000A0832A813B814114510431F0D2011396FB -:100430003C932E93129766C0309357052093560530 -:1004400061C08A819B81F80193838283425050402E -:100450004E195F09518340834114510431F0D20198 -:1004600013961C930E93129704C010935705009394 -:100470005605F4017183608345C088819981A8166F -:10048000B90608F45C012E018A819B819C01E90177 -:10049000209709F0B3CF80915405909155058615AA -:1004A0009705E9F4A616B706D0F42091160230910C -:1004B00017022115310541F42DB73EB78091120284 -:1004C00090911302281B390B02171307C8F41093DD -:1004D000550500935405D4016D937C9313C0CB0153 -:1004E0000E94B100EC01009759F0F4014081518164 -:1004F000B6010E94D202C6010E945B016E0102C0D9 -:10050000CC24DD24C601CDB7DEB7E0E10C9405258F -:10051000FC0188279927E89421912032E9F32930BA -:1005200010F02E30C8F32B3241F02D3239F468949C -:1005300004C00E949703820F911D219120532A30FD -:10054000C0F31EF4909581959F4F08951F93FC0171 -:1005500099278827BC01E89411911032E9F31930EA -:1005600010F01E30C8F31B3251F01D3249F468946C -:1005700006C00E948203610F711D811D911D1191A2 -:1005800010531A30B0F33EF49095809570956195B4 -:100590007F4F8F4F9F4F1F91089548E552E00E9473 -:1005A0002F030895FB01DC0102C001900D92415020 -:1005B0005040D8F708956817790768F4FB01DC010B -:1005C000E40FF51FA40FB51F02C002900E92415018 -:1005D0005040D8F708950C94D202DC0101C06D930D -:1005E00041505040E0F70895FC018191861721F0B9 -:1005F0008823D9F7992708953197CF010895FB01F2 -:10060000DC0101900D920020E1F70895FB01DC016F -:100610004150504048F001900D920020C9F701C0B0 -:100620001D9241505040E0F70895FB015191552330 -:10063000A9F0BF01DC014D9145174111E1F759F4D3 -:10064000CD010190002049F04D9140154111C9F3B1 -:10065000FB014111EFCF81E090E0019708950097F1 -:1006600031F4DA018D919C91009709F40EC0DC0100 -:10067000FB013D912191222319F03217C9F3FACFE2 -:10068000332331F4DA011D921C92882799270895AB -:100690001197AF93BF93FB013D912191321771F4F4 -:1006A000332321F488279927119702C01E921196AF -:1006B000FA01A193B0839F918F910895222369F746 -:1006C000EACFFB019F01E8944230C4F04532B4F414 -:1006D0004A3029F497FB1EF4909581959F4F642F23 -:1006E00077270E949824805D8A330CF0895D81937E -:1006F000CB010097A1F716F45DE251931082C90176 -:100700000C94CC05592F482F372F262F660F771FB3 -:10071000881F991F660F771F881F991F620F731F0D -:10072000841F951F660F771F881F991F08957AE011 -:10073000979F902D879F802D910D11240895FB0187 -:100740009F01423074F0453264F4642F77270E9491 -:100750009824805D8A330CF0895D8193CB010097EA -:10076000A1F71082C9010C94CC05AEE0B0E0EBEB30 -:10077000F3E00C94F5240D891E8986E08C831A839E -:1007800009838FEF9FE79E838D839E01275E3F4FF6 -:10079000CE0101966F89788DA9010E94D9032F811E -:1007A0003885020F131FF80110822E96E4E00C9496 -:1007B0001125ABE0B0E0EFEDF3E00C94E7243C0151 -:1007C0002B015A01FC0117821682838181FD03C02F -:1007D0006FEF7FEFC6C19AE0892E1E010894211C9D -:1007E000311CF3012381F20123FD859123FF8191C7 -:1007F0002F01882309F4B2C1853239F423FD859194 -:1008000023FF81912F01853229F490E0B3010E94EA -:10081000DC05E7CF982FFF24EE249924FFE1FF1594 -:10082000D0F09B3269F09C3228F4903259F0933228 -:1008300091F40EC09D3249F0903369F441E024C038 -:1008400052E0F52A84E0F82A28C098E0F92A25C069 -:10085000E0E1FE2A22C0F7FC29C0892F80538A30AC -:1008600070F4F6FE05C0989C902C1124980E15C0CB -:10087000E89CE02C1124E80EF0E2FF2A0EC09E3224 -:1008800029F4F6FC6BC140E4F42A07C09C3619F445 -:1008900050E8F52A02C0983649F4F20123FD9591FB -:1008A00023FF91912F01992309F0B8CF892F855407 -:1008B000833018F08052833038F444E050E0A40EC6 -:1008C000B51E5FE359830FC0933631F0933779F04B -:1008D000933509F056C020C0F5018081898342E03C -:1008E00050E0A40EB51E610101E010E012C0F50158 -:1008F000C080D180F6FC03C06FEF7FEF02C0692D8E -:1009000070E042E050E0A40EB51EC6010E94C10591 -:100910008C015FE7F52214C0F501C080D180F6FCA0 -:1009200003C06FEF7FEF02C0692D70E042E050E03E -:10093000A40EB51EC6010E94B6058C0150E8F52A2A -:10094000F3FE07C01AC080E290E0B3010E94DC050C -:10095000EA948E2D90E008171907A8F30EC0F6014F -:10096000F7FC8591F7FE81916F0190E0B3010E9441 -:10097000DC05E110EA94015010400115110579F7EA -:10098000EAC0943611F0993669F5F7FE08C0F50112 -:10099000208131814281538184E090E00AC0F501D9 -:1009A000808191819C01442737FD4095542F82E03E -:1009B00090E0A80EB91E9FE6F92257FF09C0509596 -:1009C0004095309521953F4F4F4F5F4FE0E8FE2A0D -:1009D000CA01B901A1012AE030E00E940806D82E20 -:1009E000D21840C0953729F41F2D1F7E2AE030E031 -:1009F0001DC01F2D197F9F3661F0903720F4983568 -:100A000009F0ACC00FC0903739F0983709F0A6C094 -:100A100004C028E030E00AC0106114FD146020E139 -:100A200030E004C014FD166020E132E017FF08C07A -:100A3000F501608171818281938144E050E008C0BA -:100A4000F50180819181BC0180E090E042E050E0BE -:100A5000A40EB51EA1010E940806D82ED2188FE759 -:100A6000F82EF122F6FE0BC05EEFF522D91438F411 -:100A7000F4FE07C0F2FC05C08FEEF82202C01D2D67 -:100A800001C0192DF4FE0DC0FE01ED0DF11D808198 -:100A9000803319F499EEF92208C01F5FF2FE05C0F9 -:100AA00003C08F2D867809F01F5F0F2DF3FC14C053 -:100AB000F0FE0FC01E1510F09D2C0BC09D2C9E0C3F -:100AC000911A1E2D06C080E290E0B3010E94DC0561 -:100AD0001F5F1E15C0F304C01E1510F4E11A01C0FB -:100AE000EE2404FF0FC080E390E0B3010E94DC0518 -:100AF00002FF1DC001FD03C088E790E00EC088E53D -:100B000090E00BC0802F867891F001FF02C08BE24D -:100B100001C080E2F7FC8DE290E0B3010E94DC05A9 -:100B200006C080E390E0B3010E94DC059A94D914DA -:100B3000C0F3DA94F101ED0DF11D808190E0B30175 -:100B40000E94DC05DD20A9F706C080E290E0B30139 -:100B50000E94DC05EA94EE20C1F743CEF3016681E2 -:100B60007781CB012B96E2E10C940325FC010590E3 -:100B7000615070400110D8F7809590958E0F9F1F9F -:100B80000895FC016150704001900110D8F78095E4 -:100B900090958E0F9F1F0895DC01FC01672F7191C6 -:100BA0007723E1F7329704C07C916D937083629153 -:100BB000AE17BF07C8F308950F931F93CF93DF932A -:100BC0008C01EB018B8181FF1BC082FF0DC02E8148 -:100BD0003F818C819D812817390764F4E881F98170 -:100BE0000193F983E88306C0E885F985802F09958C -:100BF000892B31F48E819F8101969F838E8302C061 -:100C00000FEF1FEFC801DF91CF911F910F91089552 -:100C1000FA01AA27283051F1203181F1E8946F932D -:100C20006E7F6E5F7F4F8F4F9F4FAF4FB1E03ED0D3 -:100C3000B4E03CD0670F781F891F9A1FA11D680F71 -:100C4000791F8A1F911DA11D6A0F711D811D911DA4 -:100C5000A11D20D009F468943F912AE0269F112419 -:100C60003019305D3193DEF6CF010895462F47707D -:100C7000405D4193B3E00FD0C9F7F6CF462F4F70D8 -:100C8000405D4A3318F0495D31FD4052419302D036 -:100C9000A9F7EACFB4E0A6959795879577956795DC -:100CA000BA95C9F700976105710508959B01AC01DC -:100CB0000A2E06945795479537952795BA95C9F703 -:100CC000620F731F841F951FA01D0895DC011296EB -:100CD0002C91129717968C9117972817D8F5ED91AC -:100CE000FC911197E20FF11D862F992787FD9095B2 -:100CF00016960C90169702C0880F991F0A94E2F777 -:100D00002081282B208313968C9113978F5F139645 -:100D10008C93139716962C91169714963C911497D2 -:100D2000822F90E0831B910997FD04C0231B169628 -:100D30002C93089587E016968C93169712968C91B3 -:100D400012978F5F12968C931297ED91FC91E80F9A -:100D5000F11D10820895FC018781681710F08FEF54 -:100D600008950190F081E02DE60FF11D8081089536 -:100D7000DC0190E007C0ED91FC911197E90FF11DA6 -:100D800010829F5F17968C9117979817A0F3129671 -:100D90001C92129713961C92139787E016968C93C9 -:100DA0000895FC01808191810E945B010895CF9399 -:100DB000DF93EC01842F6C831D824F8390E061E010 -:100DC00070E00E94950088839983CE010E94B80646 -:100DD00047E0E7E0F0E061E070E00BC0CB0102C06B -:100DE000880F991F2A95E2F79C018D81822B8D83B4 -:100DF0004150242F30E08C81DF01A81BB109A217DC -:100E0000B30764F3DF91CF910895FC0112A2A1858D -:100E1000B2850384F485E02D208131818D919C91F0 -:100E20001197918380832D933C93DB018D919C914D -:100E3000918380830895BF92CF92DF92EF92FF92C9 -:100E40000F931F93CF93DF93EC018B01B9A040E088 -:100E500021E0C22ED12C2DC0F901EE0FFF1FE00FB3 -:100E6000F11FD901AE0DBF1DAC19BD09AA0FBB1FE3 -:100E7000AC0FBD1F0190F081E02D53968D919C9198 -:100E80005497E81BF90BF7FF03C0F095E195FF4F6E -:100E90008D859E858E179F075CF02617370711F406 -:100EA000842F11C05F5F252F30E062177307A4F60F -:100EB0004F5F4B1538F4F8016081718151E0E42EE9 -:100EC000FF24F1CF8FEFDF91CF911F910F91FF9012 -:100ED000EF90DF90CF90BF90089508950895089502 -:100EE000FC018381948108952F923F924F925F92EB -:100EF0006F927F929F92AF92BF92CF92DF92EF92CA -:100F0000FF920F931F93DF93CF9300D000D0CDB704 -:100F1000DEB79C838B83DC0113968D919C91149793 -:100F2000019709F0A0C091962C9191972150822FA2 -:100F3000992787FD9095885E9E4F5D01A80EB91E8A -:100F4000885191408C01000F111F0D5E1F4F0A0F39 -:100F50001B1F922ECC24DD249A838983F5E12F2E4A -:100F6000F1E03F2E2A0E3B1EE5E24E2E512C4A0E9A -:100F70005B1E77C069807A806C0C7D1CF801208133 -:100F80003181121613060CF463C0EE24FF24E21A1A -:100F9000F30AF9E6EF16F2E4FF06ACF0AB81BC8190 -:100FA0001296EC911297FF27E7FDF095EE0FFF1FC9 -:100FB000EA0FFB1F63897489C7010E94AC24683261 -:100FC00071050CF045C0EB81FC818281482F5527CB -:100FD00047FD5095FA01EE0FFF1F8B819C81E80FB2 -:100FE000F91F838994892827392737FF31C033E0D7 -:100FF000880F991F3A95E1F7E816F9064CF1D501EB -:101000008C91873028F5F1016081F20130E00CC04D -:10101000818190E08615970529F4808190E08417FE -:10102000950721F03F5F3196361790F3361781F020 -:10103000AB81BC8193969C92939782E090E014964A -:101040009C938E931397A25EBE4F3C9381E010C099 -:101050009A940894A108B1080894C108D1080250D4 -:10106000104097FE87CF8FEFEB81FC8183A380E058 -:101070000F900F900F900F90CF91DF911F910F91D4 -:10108000FF90EF90DF90CF90BF90AF909F907F90B8 -:101090006F905F904F903F902F9008956F927F9246 -:1010A0008F929F92AF92BF92CF92DF92EF92FF9278 -:1010B0000F931F93CF93DF93EC018FEF8A8389A067 -:1010C000AA24AA94BA2C992475E1672E71E0772E90 -:1010D0006C0E7D1E74C08FEFA8168FEFB80689F5D1 -:1010E000C92CDD24F601EE0FFF1FEC0FFD1F8389D5 -:1010F000948997FD26C0FE01EC0DFD1DE85EFE4FB4 -:10110000608170E0882777FD8095982F0E94622388 -:101110007B018C01F301608170E0882777FD809569 -:10112000982F0E9462232BE734E14EE25EE30E9497 -:1011300016249B01AC01C801B7010E9412241816A5 -:10114000E4F1C92CDD24F601EE0FFF1FEC0FFD1FAB -:101150002389348937FD30C0F501EE0FFF1FEC0FF6 -:10116000FD1F838994892817390734F5FE01EC0D9A -:10117000FD1DE85EFE4F608170E0882777FD809559 -:10118000982F0E9462237B018C01F301608170E043 -:10119000882777FD8095982F0E9462232BE734E102 -:1011A0004EE25EE30E9416249B01AC01C801B70128 -:1011B0000E94122418160CF065019394560198149D -:1011C00008F489CFFFEFAF16FFEFBF0611F480E000 -:1011D00006C0AA8281E090E09C838B8381E0DF914E -:1011E000CF911F910F91FF90EF90DF90CF90BF9024 -:1011F000AF909F908F907F906F900895DC01A85ED4 -:10120000BE4F1D921D921D921D921D921C92AD51BA -:10121000B140442399F4AB5EBE4F4C91A551B1400F -:101220000DC0FD01E60FF11D85A1FD01E80FF11DC7 -:10123000E85EFE4F80818F5F80836F5F641788F365 -:1012400008952F923F924F925F926F927F928F926A -:101250009F92AF92BF92CF92DF92EF92FF920F9345 -:101260001F93DF93CF9300D00F92CDB7DEB76C0101 -:1012700060E040E00E94FE08442405E1202E01E0E9 -:10128000302E2C0C3D1CF7C0242D2F5F2983522EAD -:10129000842D90E05C01AA0CBB1CAC0CBD1C43E18E -:1012A00050E0A40EB51E3601680E791E88E191E06B -:1012B000680E791ED9C0852C9924F401EE0FFF1F0A -:1012C000EC0DFD1DA389B489BB83AA839D01B7FFE3 -:1012D00003C0309521953F4FB901882777FD809550 -:1012E000982F0E946223F60127853089418952890F -:1012F0000E9416247B018C01D5018D919C91EA817D -:10130000FB81E81BF90BFB83EA83F7FF05C0F0952F -:10131000E195FF4FFB83EA83C801B70120E030E08D -:1013200040E05FE30E9416249B01AC01C801B701B5 -:101330000E94CB220E942F232A813B8162177307D0 -:101340000CF491C090E008C0F601E90FF11D85A1F1 -:10135000851509F445A29F5FD1018C919817A0F3E0 -:10136000F3018081E82EFF24F601E80DF91DE85E07 -:10137000FE4F8081282F30E0A9014E0D5F1D5B8359 -:101380004A83F401EE0FFF1F452B29F5EC0DFD1DDF -:1013900083899489DC012A9FC0012B9F900D3A9F7D -:1013A000900D112460E070E00E94AC249B01F501D7 -:1013B00080819181AC01E49EC001E59E900DF49E78 -:1013C000900D112460E070E00E94AC24260F371FBE -:1013D0003183208310C0EC0DFD1D83899489D501D4 -:1013E0002D913C91820F931F62E070E00E94AC242B -:1013F000F50171836083F601E80DF91DE85EFE4F8B -:10140000208130E08401000F111F0C0D1D1DD8013B -:1014100053968D919C915497FC012E9FC0012F9F54 -:10142000900D3E9F900D11246A817B810E94AC2417 -:10143000FB01D3018C9190E0D5012D913C91AC0141 -:10144000429FC001439F900D529F900D11246A81CD -:101450007B810E94AC24E60FF71FD501ED93FC932E -:10146000F801148A138A5394D60191968C915816D8 -:1014700008F421CF4980F60181A1481608F404CF71 -:101480000F900F900F90CF91DF911F910F91FF90D0 -:10149000EF90DF90CF90BF90AF909F908F907F9014 -:1014A0006F905F904F903F902F900895CF93DF9370 -:1014B000EC010E942109CE0160E040E00E94FE089C -:1014C000CB5EDE4F8881C551D140883230F0CE01ED -:1014D0000E944E08CE010E947407DF91CF910895BB -:1014E000DC01ED91FC910190F081E02D09950895CA -:1014F0008F929F92AF92BF92CF92DF92EF92FF9224 -:101500000F931F93CF93DF936C01DC011296ED9143 -:10151000FC91139781A1843008F4E2C0EB5EFE4F8A -:10152000608170E0882777FD8095982F0E94622364 -:1015300029E23CE54FE05EE30E9416240E9434233A -:10154000762FAA24AA94BA2C8824992460E030E04B -:1015500079C0A32FB0E0FE01EA0FFB1FE85EFE4F4B -:10156000E080E71608F46DC0AA0FBB1FAC0FBD1FCB -:1015700053964D915C91549714161506A4F5F601F7 -:1015800025812F3F69F0822F992787FD9095880F3D -:10159000991FC80FD91F8B899C89841795070CF454 -:1015A000232FD60115962C93159717962C911797E4 -:1015B0002F3F89F01296ED91FC911397822F992776 -:1015C00087FD9095880F991FE80FF91F83899489EB -:1015D000481759070CF4232F6E0D8394A40EB51EE3 -:1015E000F60127832EC0D60114962C912F3F69F067 -:1015F000822F992787FD9095880F991FC80FD91FB3 -:101600008B899C89481759070CF4232FF6012483F2 -:1016100026812F3F81F00280F381E02D822F9927D0 -:1016200087FD9095880F991FE80FF91F838994898A -:10163000841795070CF4232F6E199394D6011696F0 -:101640002C933F5FF601C281D38189A1381708F43A -:1016500080CF70E0882777FD8095982F0E946223C5 -:101660007B018C01CB5EDE4F688170E0882777FDBF -:101670008095982F0E9462232AE037ED43EA5CE3CD -:101680000E9416249B01AC01C801B7010E941224DC -:10169000181634F1981421F5C50163E070E00E943A -:1016A000AC24D60119967C936E93189714969C914E -:1016B00014979F3FA9F016968C9116978F3F81F053 -:1016C000981771F015962C9115972F3F49F01796A2 -:1016D0009C919F3F29F080E0291719F081E001C01B -:1016E00080E0DF91CF911F910F91FF90EF90DF90FD -:1016F000CF90BF90AF909F908F9008958F929F92C0 -:10170000AF92BF92CF92DF92EF92FF921F93DF933F -:10171000CF9300D00F92CDB7DEB76C017B01DE0115 -:101720001196E9E0F1E083E001900D928150E1F73C -:10173000D601ED91FC91628183E0689FB001112494 -:10174000C7010E94C020E114F10499F110E05E018C -:101750000894A11CB11C74E0872E71E0972E23C061 -:10176000CF01612F0E94AB0600D000D000D0EDB7B2 -:10177000FEB73196ADB7BEB71296BC92AE92119736 -:1017800093828282848315820E94B5038DB79EB7AF -:1017900006960FB6F8949EBF0FBE8DBFC701B50168 -:1017A0000E9479211F5FD601ED91FC918281811702 -:1017B000B8F60F900F900F90CF91DF911F91FF908F -:1017C000EF90DF90CF90BF90AF909F908F90089553 -:1017D000FC018FEF848385838683878384E18287FE -:1017E000808191810E94B80608950F931F938C0108 -:1017F000FC0111A2148213828FEF8283878D90A146 -:101800000E94B806F80116861586148A138A168A6D -:10181000158A108E178A128E118E148E138E168EC4 -:10182000158E1F910F910895CF93DF93EC010E94C5 -:10183000F50BCB5EDE4F1882C551D14019A21CA218 -:101840001C821B828FEF8BA38A83FE01DE01A85EC0 -:10185000BE4F80E0148A138A1D928F5F32968630C5 -:10186000C9F71AA286E990E09E878D878AE999E9EF -:10187000A9E9BEE38F87988BA98BBA8BC25EDE4F36 -:101880001882289719921882DF91CF910895EF92CC -:10189000FF920F931F938C01FC017383628388E096 -:1018A00090E00E94D71BF82EE92E61E04EE10E94E5 -:1018B000D706F801F082E182C8010E94E80B1F916F -:1018C0000F91FF90EF900895EF92FF920F931F9367 -:1018D0008C0187E392E0F8019183808388E090E0B7 -:1018E0000E94D71BF82EE92E62E041E00E94D70645 -:1018F000F801F78EE0A21086178216821582C801C1 -:10190000059692878187C80107969487838712A2DC -:10191000C8010E94F50B1F910F91FF90EF90089561 -:101920000F931F938C010E94640C8BE292E0F801EC -:10193000918380831682158210861782C8010596CE -:1019400092878187C8010796948783878FEF83A347 -:10195000C8010E94140C1F910F910895AF92BF927D -:10196000CF92DF92EF92FF920F931F938C010E9410 -:10197000900C8FE192E0F8019183808360E7A62EBE -:1019800061E0B62EA00EB11E50E0E52E51E0F52E1E -:10199000C501B7010E94C42147E7C42E41E0D42EFF -:1019A000C00ED11EC601B7010E94C421C50166E464 -:1019B00070E00E94C020C60164E170E00E94C02077 -:1019C00001591E4FF80110821F910F91FF90EF9067 -:1019D000DF90CF90BF90AF9008951F93CF93DF9388 -:1019E000EC0110E040E096C0442309F5FD01E10F51 -:1019F000F11D85A1282F30E08C81992787FD9095D6 -:101A00002817390789F08D81992787FD9095281728 -:101A1000390709F0BBC008C08F81992787FD9095D1 -:101A20002817390709F075C0A25EBE4F1C93AA8122 -:101A3000BB81412F50E0FD01E40FF51F85A1282F48 -:101A400030E08C81992787FD90952817390741F060 -:101A50008D81992787FD90952817390709F09FC038 -:101A60004881598160E0220F331FA20FB31F5396A4 -:101A70008D919C91549797FF61E0CA010E94660680 -:101A80003FC08F81992787FD90952817390709F066 -:101A900090C0AB5EBE4F8C91A551B14090E00197D4 -:101AA000481759070CF085C0FD01E40FF51F86A10A -:101AB000282F30E02617370741F08F81992787FDBF -:101AC00090952817390709F074C04881598160E062 -:101AD000220F331FA20FB31F53968D919C915497E1 -:101AE00097FF61E0CA010E9466061F5F09C08881F6 -:101AF00099810E94B806EA81FB81E25EFE4F108365 -:101B000041E007C020E0E881F98183818317C8F1B3 -:101B100037C01F5FAA81BB81FD01EB5EFE4F808154 -:101B2000181708F461CF181721F5A25EBE4F8C91EB -:101B30008230F8F0181B1083EA81FB81E25EFE4FD1 -:101B40006081EE51F14070E06B5D7F4F6E0F7F1F43 -:101B5000EB5EFE4F408150E04F5F5F4FCF01805FF3 -:101B600090400E94DB02EA81FB81EA5EFE4F81E049 -:101B7000808320E0E881F98193818A85981708F0B5 -:101B800021E0822FDF91CF911F9108958E819927B7 -:101B900087FD90952817390709F03ECF45CF8E81F4 -:101BA000682F772767FD70952617370709F069CFEB -:101BB00070CF3A85AB5EBE4F8C9190E0831B91094C -:101BC000481759070CF493CF9DCFEF92FF920F93D4 -:101BD0001F93DF93CF9300D000D0CDB7DEB78C0139 -:101BE0000B5E1E4FD8018C910551114090E08F3E45 -:101BF0009105ACF0095E1E4F81E0F801808307512A -:101C00001140D801ED91FC910680F781E02DC801CB -:101C100009950A5E1E4FF801108206511140D80145 -:101C200094961C9294971996ED91FC911A972081A5 -:101C300031811B96ED91FC911C970190F081E02D74 -:101C40000B5E1E4FD8014C910551114090915A02E4 -:101C5000D80191968C919197891710F491969C9345 -:101C60000B5E1E4FD8018C91055111408823B1F0B5 -:101C7000EE2480E090E0E227F327F7FF02C081E046 -:101C800090E020E030E04F3E11F021E030E0822390 -:101C90009323892B41F0EE24E39405C0F80111A2AF -:101CA00010925A02EE2481E090E09A8389831C828C -:101CB0001B82D8011996ED91FC911A978081918130 -:101CC0009C838B83C801BE016F5F7F4F0E941B07FF -:101CD000F82E87FD2EC00B5E1E4FF8018081055146 -:101CE0001140F801E80FF11DF5A2823030F084A117 -:101CF0008F1519F4C8010E94140CEF2DFF27E7FD82 -:101D0000F095EE0FFF1FE00FF11F8B819C8123895F -:101D10003489820F931F62E070E00E94AC24748BC0 -:101D2000638BF801EB5EFE4F80818F5F8083FF2421 -:101D300019C0C80160E040E00E94FE08D8019196F9 -:101D40008C91863069F480915A02F801E80FF11DF8 -:101D5000E85EFE4F8081823018F0EE24FF2404C03C -:101D6000FF24F394EE2009F50B5E1E4FF8018081ED -:101D700005511140883278F081E0D80192968C9319 -:101D80009297ED91FC910680F781E02DC8010995AD -:101D900010925A026FC0EE2041F4C8010E94140C48 -:101DA000F80112A210925A020DC00B5E1E4FD8010C -:101DB0008C9105511140883228F083E090E0F801C1 -:101DC00094838383FF2009F455C00B5E1E4FD80116 -:101DD0004C910551114050915A02842F90E0849605 -:101DE000F801E80FF91F20E030E0DC0195971BC0F7 -:101DF00080812F5F3F4F31978517A9F46F5F7F4F29 -:101E0000461B0B5E1E4FF8014083055111406B5D70 -:101E10007F4F600F711F50E04F5F5F4FC801859685 -:101E20000E94DB0207C0BD01621B730B8FEF6F3F87 -:101E30007807F1F620915A02E22FF0E0EE0FFF1F33 -:101E4000E00FF11F8B819C81948B838BD801AB5E5B -:101E5000BE4F8C91F801E80FF11D25A38F5F8C9385 -:101E60002F5F20935A02263029F410925A02D8018B -:101E700091962C930F900F900F900F90CF91DF9130 -:101E80001F910F91FF90EF9008950F931F93CF93A1 -:101E9000DF938C01DC0192961C92929719960D901B -:101EA000BC91A02DEC01EB85FC85208131818D91C9 -:101EB0009C911197918380832D933C93DB018D91AD -:101EC0009C9191838083C8010E94E50D8AA1DF91D6 -:101ED000CF911F910F9108950F931F93CF93DF938D -:101EE0008C01EB01CB0167E070E00E94C0202097DD -:101EF00079F0CE016EE071E00E947921F8016085F1 -:101F00007185CE010E940921CE016BE30E946621FA -:101F1000DF91CF911F910F9108950F931F93CF934E -:101F2000DF938C01EB01CB0160E270E00E94C020E6 -:101F3000209709F470C0CE0161E171E00E9479211F -:101F4000D8011296ED91FC91139714968C919927D4 -:101F500087FD9095880F991FE80FF91F6389748991 -:101F6000CE010E940921CE016BE30E946621CE01C1 -:101F700065E171E00E947921D8011296ED91FC9102 -:101F8000139715968C91992787FD9095880F991F27 -:101F9000E80FF91F63897489CE010E940921CE01DF -:101FA0006BE30E946621CE0169E171E00E94792114 -:101FB000D8011296ED91FC91139716968C91992762 -:101FC00087FD9095880F991FE80FF91F6389748921 -:101FD000CE010E940921CE016BE30E946621CE0151 -:101FE0006DE171E00E947921D8011296ED91FC918A -:101FF000139717968C91992787FD9095880F991FB5 -:10200000E80FF91F63897489CE010E940921CE016E -:102010006BE30E946621DF91CF911F910F9108958C -:10202000CF93DF93FC01C081D181209731F0CE01A5 -:102030000E94D106CE010E94D41BDF91CF9108955A -:10204000CF92DF92EF92FF920F931F937A01690173 -:1020500005E215E0C8010E94781DC801B7010E9481 -:10206000781DC801B6010E94781D1F910F91FF9045 -:10207000EF90DF90CF900895BF92CF92DF92EF92D2 -:10208000FF920F931F93CF93DF936C01F62EB42E24 -:10209000E80185E295E0B9010E94781DEE2417C0A1 -:1020A00086010F0D111D85E295E0F80165A14AE05A -:1020B00050E00E94DE1CF80185A1E82688E09CE83B -:1020C000E0FAE6940EF4E9268A95D1F7F394BF146A -:1020D00038F785E295E0BE010E94781D8E2DDF91D4 -:1020E000CF911F910F91FF90EF90DF90CF90BF9015 -:1020F00008956F927F928F929F92AF92BF92CF92EC -:10210000DF92EF92FF920F931F93DF93CF93CDB7A0 -:10211000DEB762970FB6F894DEBF0FBECDBF7C016D -:102120008C010B5E1E4FF8018081883208F445C295 -:102130007E2C6F2CC7010E94560AF701838194817F -:102140008230910509F039C12EE131E0E20EF31E33 -:10215000F701608122EE3EEFE20EF31E462F4E5F46 -:10216000F7018281C82EDD24C7FCD094D801F70185 -:10217000E40FF11D85A190E08C159D0569F426A161 -:1021800030E0F70183A1992787FD9095281739073B -:1021900019F4415011E005C04E5F8C91481738F397 -:1021A00010E025E131E0E20EF31EF70180812BEE15 -:1021B0003EEFE20EF31E842E841708F4882E872D3E -:1021C000962D482D0E94FE08112389F0882D90E05D -:1021D0004EE151E0E40EF51EF701208142EE5EEF84 -:1021E000E40EF51E821B910988974CF4E1C087012B -:1021F0000B5E1E4FF8018081803F08F0A5C040E7CC -:10220000A42E41E0B42EAE0CBF1CC50160E071E00D -:102210000E94DE2137E7C32E31E0D32ECE0CDF1C27 -:10222000C60160E071E00E94DE21C50162E00E940B -:102230006621C50161E271E00E947921C5016BE36D -:102240000E946621992426C0092D10E0F701E00FB5 -:10225000F11FE85EFE4F80818823D9F0C50160E55B -:102260000E946621C501692D0E943A21C50164E2E0 -:1022700071E00E947921000F111F0E0D1F1DF80142 -:1022800063897489C5010E940921C5016BE30E941D -:1022900066219394F70181A19816B0F2C50166E218 -:1022A00071E00E947921C6016BE30E946621C6019C -:1022B00069E271E00E947921F7016281772767FD69 -:1022C0007095C6010E940921C6016BE30E94662138 -:1022D000C6016DE271E00E947921F70163A17727C1 -:1022E00067FD7095C6010E940921C6016BE30E943B -:1022F000662127E131E0E20EF31EF701808129EE2D -:102300003EEFE20EF31E882349F0C60161E371E05F -:102310000E947921C6016BE30E946621C60163E039 -:102320000E946621C6016AE00E946621F701E25E12 -:10233000FE4FC7016081482D950186010E943C1027 -:1023400081E0F70182A321C19EE1C92E91E0D92E3F -:10235000CE0CDF1CF6018081823050F1882D90E098 -:102360008F3E91052CF185E295E063E371E00E94D8 -:10237000621DF8014081F6016081461BF80140832F -:1023800070E06B5D7F4F6E0D7F1D50E04F5F5F4FC4 -:10239000C70185960E94DB0226E131E0E20EF31EC2 -:1023A00081E0F70180832AEE3EEFE20EF31EEDC0DE -:1023B000872D962D0E94140CE8C0019709F0E3C008 -:1023C000F8018081883208F4DEC080E7A82E81E021 -:1023D000B82EAE0CBF1CC50160E071E00E94DE218A -:1023E00007E7C02E01E0D02ECE0CDF1CC60160E056 -:1023F00071E00E94DE21C50162E00E94662118E0C2 -:10240000812E912C8C0E9D1EC401B7010E94470C99 -:10241000C4010E94E80BC4010E94780A882309F4D1 -:10242000C1C0C4010E94ED0C882309F4BBC08E0119 -:102430000F5F1F4FC80160E071E00E94C421C80116 -:1024400066E271E00E94DE21C401B8010E947E0BA9 -:10245000C50168E371E00E947921C5016BE30E9428 -:102460006621C401B5010E948D0FC6016BE30E9475 -:102470006621C401B6010E946C0FC60163E00E9490 -:102480006621C6016AE00E946621C701B501A80164 -:1024900096010E942010C8010E94C4226CC0092D20 -:1024A00010E0F701E00FF11FE85EFE4F8081882306 -:1024B000E1F0C5016BE371E00E947921C501692D4E -:1024C0000E943A21C50164E271E00E947921000F67 -:1024D000111F0E0D1F1DF80163897489C5010E942B -:1024E0000921C5016BE30E9466219394F70181A144 -:1024F0009816A8F2C50166E271E00E947921C60132 -:102500006BE30E946621C60169E271E00E947921B5 -:10251000F7016281772767FD7095C6010E94092146 -:10252000C6016BE30E94662127E131E0E20EF31E53 -:10253000F701808129EE3EEFE20EF31E882349F079 -:10254000C60161E371E00E947921C6016BE30E943C -:102550006621C60163E00E946621C6016AE00E940E -:102560006621F701EB5EFE4FC70160E040819501F7 -:1025700086010E943C1081E0F70182A3CE010896FB -:102580000E94101002C0F70112A226E131E0E20E13 -:10259000F31EF7018081882381F4872D962D0E94F8 -:1025A000140C0BC0C5016DE371E00E947921C501D7 -:1025B0006BE30E946621992499CF62960FB6F89436 -:1025C000DEBF0FBECDBFCF91DF911F910F91FF9066 -:1025D000EF90DF90CF90BF90AF909F908F907F90C3 -:1025E0006F9008951F920F920FB60F9211242F93A0 -:1025F0003F934F935F936F937F938F939F93AF938B -:10260000BF93EF93FF93E0915E02F0915F02099513 -:10261000FF91EF91BF91AF919F918F917F916F91BA -:102620005F914F913F912F910F900FBE0F901F9090 -:10263000189581309105D9F46F5F7F4F79F580E56A -:102640008093600210926102809161028093630224 -:10265000809163028093620285E093E062EB71E017 -:102660000E94C4218DE093E00E94AE0C0895892B56 -:10267000A9F46F5F7F4F91F48FE192E090930E0386 -:1026800080930D0384E894E00E94C4228DE794E0D7 -:102690000E94C42285E093E00E94C422089580E055 -:1026A00090E06FEF7FEF0E941913089581E090E0B2 -:1026B0006FEF7FEF0E9419130895FF920F931F93FE -:1026C000CF93DF93F82E05E215E0C80163EB71E0CC -:1026D0000E94621DC8016F2D4AE050E00E94DE1C7E -:1026E000C8016EEB71E00E94621DCF2DD0E093E037 -:1026F000CC0FDD1F9A95E1F7FE01E15DFB4F608194 -:102700007181C8014AE050E00E94301DC80162ECAE -:1027100071E00E94621DC25DDB4F6881772767FD13 -:102720007095C8014AE050E00E94301DC80167EC76 -:1027300071E00E94651DDF91CF911F910F91FF9075 -:102740000895EF92FF920F931F93DF93CF93CDB72E -:10275000DEB762970FB6F894DEBF0FBECDBF8E0115 -:10276000075F1F4F85E093E0B8014AE050E023E0A7 -:1027700030E00E947920C80167EC71E00E94CD0230 -:102780000E948802F82EDE011196EFE3F2E088E065 -:1027900001900D928150E1F785E093E061E070E0F7 -:1027A0000E940520813421F000E010E0EE2425C0D5 -:1027B00080E090E067EC71E00E94CD020E94880208 -:1027C000E82E80E090E067EC71E00E94CD020E946C -:1027D00088028C01EB829D838C83EF2DF0E033E047 -:1027E000EE0FFF1F3A95E1F7E45DFB4FDE01119616 -:1027F00088E00D9001928150E1F785E093E061E07F -:1028000070E00E940520823599F4EB821D830C83D1 -:10281000EF2DF0E023E0EE0FFF1F2A95E1F7E45DD6 -:10282000FB4FDE01119688E00D9001928150E1F797 -:102830008F2D0E945D1380917C0490E001962F2DD6 -:1028400030E0821793071CF4F394F0927C046296B4 -:102850000FB6F894DEBF0FBECDBFCF91DF911F91B1 -:102860000F91FF90EF9008950E94971E9B01AC017D -:1028700080918B0490918C04A0918D04B0918E0472 -:10288000281739074A075B0748F480918F04909115 -:10289000900401969093900480938F0420938B046E -:1028A00030938C0440938D0450938E04CA01B90177 -:1028B00028EE33E040E050E00E94BF24C9010895B3 -:1028C0001F9311E017C085E295E00E94E81A682F77 -:1028D0008A3049F08B301CF4882329F007C08D30F2 -:1028E00011F0833219F410930C0304C085E093E0D7 -:1028F0000E94662185E295E00E94B71A892B19F79C -:102900001F910895609104038DE00E94A21F109210 -:10291000040308956F927F928F929F92AF92BF921D -:10292000DF92EF92FF920F931F93DF93CF93CDB778 -:10293000DEB72E970FB6F894DEBF0FBECDBF3C01B9 -:1029400085E093E064E40E94742062E0D62ED80E05 -:102950004E010894811C911C58E0A52EB12CAC0EA0 -:10296000BD1E3BC00894E11CF11CC50165E073E08D -:102970004D2D50E097010E945A22C5010E94272048 -:10298000162FC5010E94C422012F10E0000F111F55 -:10299000060D171D60E0F8018081918197FF61E0CD -:1029A0008BE00E94A21FF8018081918197FF03C0F4 -:1029B000909581959F4FFFE181349F075CF068EE11 -:1029C00073E00E94AC24882777FD8095982F0E94A1 -:1029D000CB1E02C00E94F11ED394ED2CFF24C40133 -:1029E00067EC71E00E94C42185E093E0B4014D2DB5 -:1029F00050E00E9438208C01C4010E94C422E016DD -:102A0000F1060CF4AFCF8BE060E00E94A21F2E967F -:102A10000FB6F894DEBF0FBECDBFCF91DF911F91EF -:102A20000F91FF90EF90DF90BF90AF909F908F90AD -:102A30007F906F900895EF92FF920F931F93082F4E -:102A4000E62E8BE061E00E94A21F10E08091190247 -:102A500090911A029C01029FC001039F900D129F4A -:102A6000900D11240E94F11E8BE060E00E94A21FD5 -:102A7000FF248091190290911A029C01E29EC001EC -:102A8000E39E900DF29E900D11240E94F11E1F9165 -:102A90000F91FF90EF90089580E00E94E21D08954D -:102AA00080E065E978E141E050E00E94BF1D0895B3 -:102AB00085E093E061E070E00E940520813511F42B -:102AC0000E944C1585E093E061E070E00E940520D3 -:102AD000853411F40E94501508952F923F924F9221 -:102AE0005F926F927F928F929F92AF92BF92CF929E -:102AF000DF92EF92FF920F931F93DF93CF93CDB7A7 -:102B0000DEB7ED970FB6F894DEBF0FBECDBF85E000 -:102B100093E061E070E00E940520823509F0EBC08F -:102B2000FE01F2968CE0DF011D928A95E9F77E01A5 -:102B30000894E11CF11CC70162EB71E00E94C42102 -:102B40008E01085F1F4FC80167EC71E00E94C4212D -:102B500085E093E0B80142E050E00E943820B82EB2 -:102B6000C8010E94C422AA2486E1282E312C2C0EF2 -:102B70003D1E67010BE2402E512C4C0E5D1E1DE1E7 -:102B8000612E712C6C0E7D1EB4E28B2E912C8C0E5E -:102B90009D1E3FC0C60162E070E00E9405208D339B -:102BA00009F097C0C301B60141E050E022E030E0F7 -:102BB0000E945A22C3010E942720162FC3010E949F -:102BC000C422C401B60143E050E00E94A122C40126 -:102BD0000E942720E12FF0E0EE0FFF1FEC0DFD1DFE -:102BE00072AB61ABC40112C0C60161E070E00E942B -:102BF00005208D3369F4C201B60142E050E00E9425 -:102C0000A122C2010E942720A62EC2010E94C42236 -:102C1000B02E0B2D112707FD109578010894E11CAB -:102C2000F11C85E093E0B7010E940520843409F48B -:102C300059C085E093E064E40E947420E816F90628 -:102C40000CF050C0CE010F9667EC71E00E94C421D9 -:102C50000E5F1F4F85E093E0BE01615F7F4FA801CB -:102C60000E943820082FCE010F960E94C422202FE8 -:102C7000332727FD3095C10165E073E0A7010E946D -:102C80005A22C601B1010E94AD22C1010E94C42294 -:102C9000C60160E070E00E9405208035D1F47ACF53 -:102CA000C7010E948A1462E070E080E090E00E9418 -:102CB000CB1E1F5F1A15A0F30E94501585E295E008 -:102CC00065E073E00E94AB1DCE0101960E94C42214 -:102CD00012C0C60160E070E00E940520823509F054 -:102CE00097CF82CF0E944C1510E072E3E72EF12CB3 -:102CF000EC0EFD1EDFCFED960FB6F894DEBF0FBED3 -:102D0000CDBFCF91DF911F910F91FF90EF90DF909A -:102D1000CF90BF90AF909F908F907F906F905F907B -:102D20004F903F902F900895EF92FF920F931F9333 -:102D3000CF93DF937C010E944C1500E010E024C08B -:102D400081E06FE10E941B15E70119C0813371F02A -:102D5000863449F0803391F481E063E00E941B15D2 -:102D600081E063E009C081E063E002C083E061E0EC -:102D70000E941B1583E061E00E941B15219688814B -:102D8000882321F70F5F1F4F8091180290E00817EA -:102D90001907B4F20E945015DF91CF911F910F9146 -:102DA000FF90EF900895EF92FF920F931F93DF93A0 -:102DB000CF93CDB7DEB7EA970FB6F894DEBF0FBE5C -:102DC000CDBF85E093E061E070E00E94052084378C -:102DD00031F185E093E061E070E00E9405208237E8 -:102DE00029F58E010C5F1F4FC80165E073E042E0DA -:102DF00050E00E94A122C8017E010894E11CF11C50 -:102E0000B70143E050E020E030E00E947920C801A3 -:102E10000E94C422C7010E9488028093180285E2A2 -:102E200095E065E073E00E94AB1D97C085E093E0FC -:102E300061E070E00E940520833731F58DE061E0AC -:102E40000E94A21F8E01055F1F4FC80165E073E05D -:102E500042E050E00E94A1222EE2E22EF12CEC0E84 -:102E6000FD1EC801B7014DE050E020E030E00E94B7 -:102E70007920C8010E94C422C7010E9494168DE0E7 -:102E800060E00E94A21FCBCF85E093E061E070E09C -:102E90000E9405208336A9F48E010E5E1F4FC801E3 -:102EA00065E073E042E050E00E94A122C8010E9468 -:102EB000272070931A0260931902C8010E94C4224D -:102EC000AECF85E093E061E070E00E94052080379E -:102ED00009F043C099E1E92EF12CEC0EFD1EC7016B -:102EE00062EB71E00E94C421C70164E170E00E94BE -:102EF000C020C70169EC71E00E94DE218E01005EF6 -:102F00001F4FC801609118024AE00E942822C701A1 -:102F1000B8010E948921C8010E94C422C70164ED42 -:102F200071E00E9479218E01095D1F4F60911902A5 -:102F300070911A02C8014AE00E94F721C701B80146 -:102F40000E948921C8010E94C42285E295E0B70150 -:102F50000E94AB1DC7010E94C422EA960FB6F894E6 -:102F6000DEBF0FBECDBFCF91DF911F910F91FF90BC -:102F7000EF900895DF93CF9300D0CDB7DEB785E013 -:102F800093E060E070E00E9405208F3309F056C0A6 -:102F900085E295E06FE30E94271C85E295E068E6F4 -:102FA00070E00E94041C85E295E066E50E94271C03 -:102FB00085E295E060E20E94271C85E295E069E6E3 -:102FC0000E94271C85E295E060E20E94271C85E2B2 -:102FD00095E062E50E94271C85E295E060E20E9490 -:102FE000271C85E295E064E70E94271C85E295E0B6 -:102FF00060E20E94271C85E295E068E50E94271C9C -:1030000085E295E060E20E94271C85E295E066E497 -:103010000E94271C85E295E060E20E94271C85E261 -:1030200095E063E50E94271C85E295E060E20E943E -:10303000271C85E295E062EB71E00CC085E093E02F -:1030400060E070E00E940520863539F485E295E065 -:1030500066ED71E00E94651D63C085E093E060E06D -:1030600070E00E940520823571F4809154059091A2 -:103070005505009711F488E595E0BE016F5F7F4F1D -:10308000681B790B31C085E093E060E070E00E943E -:103090000520893649F48DE093E00E947007892B62 -:1030A00089F40E94D3163CC085E093E060E070E0B4 -:1030B0000E940520833569F48DE093E00E9470073B -:1030C000892B21F081E080930C032AC00E946D15AA -:1030D00027C085E093E060E070E00E94052084371F -:1030E00051F40E943414BC0185E295E04AE050E0BE -:1030F0000E94431D15C085E093E060E070E00E94EF -:103100000520883519F40E9458150AC085E093E01F -:1031100060E070E00E940520863411F40E94A11343 -:103120000F900F90CF91DF910895AF92BF92CF9201 -:10313000DF92EF92FF920F931F9380919104882367 -:10314000A1F481E994E00E94C61B892B71F00E94D2 -:10315000A51E6093990470939A0480939B049093A6 -:103160009C0481E994E00E94D01B0E94A51E7B0173 -:103170008C0182E00E94D51FAC018091990490914E -:103180009A04A0919B04B0919C0457016801A81A6D -:10319000B90ACA0ADB0AD601C501E0929904F09285 -:1031A0009A0400939B0410939C048A359105A10511 -:1031B000B10594F181302DE7920720E0A20720E0CD -:1031C000B2071CF021E03DE701C09501452B19F045 -:1031D000309521953F4F809161028035E8F48091D0 -:1031E00061028F5F80936102809162026091600250 -:1031F00090E070E00E94982480936202E091620265 -:10320000F0E0EE0FFF1FEC59FD4F318320838091DA -:1032100062028F5F809362021F910F91FF90EF9087 -:10322000DF90CF90BF90AF900895FF920F931F93C0 -:10323000DF93CF9300D0CDB7DEB780910C03882306 -:10324000D1F110920C030E94BA1780910C038823CD -:1032500031F485E093E062EB71E00E94DE2181E0D1 -:103260008093040328C080916102815080936102A1 -:10327000809163026091600290E070E00E94982467 -:103280008093630280916302E82FF0E0EE0FFF1F4E -:10329000EC59FD4F208131818F5F809363023A8327 -:1032A00029838DE093E0B8010E94700A882341F0E1 -:1032B000F092040305C08E010F5F1F4FFF24F394AB -:1032C00080916102882379F60F900F90CF91DF9162 -:1032D0001F910F91FF90089585E295E040E051EE37 -:1032E00060E070E00E94301A82E060E00E94361FC9 -:1032F0008BE061E00E94361F8DE061E00E94361F86 -:10330000E1E8F0E080E180831092800082E0809329 -:103310005D0288EA91E690935C0280935B02909351 -:1033200087008093860082E1808382E894E1909315 -:103330005F0280935E0281E080936F000E945015CF -:1033400085E093E064E170E00E94C02008951F9240 -:103350000F920FB60F9211242F933F934F938F9399 -:103360009F93EF93FF938091C00082FD1DC0409119 -:10337000C6002091DD043091DE042F5F3F4F2F7394 -:1033800030708091DF049091E0042817390771F0C4 -:10339000E091DD04F091DE04E356FB4F408330936F -:1033A000DE042093DD0402C08091C600FF91EF91FE -:1033B0009F918F914F913F912F910F900FBE0F9042 -:1033C0001F901895E0913105F0913205E05CFF4FB8 -:1033D0008191919120813181821B930B8F73907029 -:1033E000892B11F00E94601408951F920F920FB65E -:1033F0000F9211242F933F938F939F93EF93FF93FB -:10340000209121053091220580912305909124057A -:103410002817390731F48091C1008F7D8093C10056 -:1034200014C0E0912305F0912405EF51FB4F20815A -:10343000809123059091240501968F73907090934D -:103440002405809323052093C600FF91EF919F915F -:103450008F913F912F910F900FBE0F901F90189555 -:10346000AF92BF92DF92EF92FF920F931F93CF9391 -:10347000DF93EC017A018B01DD24403081EE5807A7 -:1034800080E0680780E0780711F0DD24D39491E0B4 -:10349000A92EB12CEC89FD89DD2069F0C50108A0B9 -:1034A00002C0880F991F0A94E2F7808360E079E0F8 -:1034B0008DE390E005C0108260E874E88EE190E052 -:1034C000A80197010E94BF24215030404040504045 -:1034D000569547953795279580E12030380720F09D -:1034E000DD2011F0DD24D6CFE889F9893083EA891F -:1034F000FB89208319A2EE89FF89408121E030E019 -:10350000C9010C8C02C0880F991F0A94E2F7482B5E -:103510004083EE89FF894081C9010D8C02C0880F6C -:10352000991F0A94E2F7482B4083EE89FF89408176 -:10353000C9010E8C02C0880F991F0A94E2F7482B2C -:103540004083EE89FF8980810F8C02C0220F331FD8 -:103550000A94E2F7209528232083DF91CF911F91D1 -:103560000F91FF90EF90DF90BF90AF900895DC0136 -:103570001C96ED91FC911D97E05CFF4F21913191DC -:1035800080819181281B390B2F733070C9010895F8 -:10359000DC011C96ED91FC911D97E05CFF4F2081B2 -:1035A0003181E054F040DF01AE5BBF4F8D919C91C3 -:1035B00011972817390719F42FEF3FEF07C08D91A6 -:1035C0009C91E80FF91F8081282F30E0C9010895F0 -:1035D000DC011C96ED91FC911D97E05CFF4F208172 -:1035E0003181E054F040DF01AE5BBF4F8D919C9183 -:1035F00011972817390719F42FEF3FEF10C08D915D -:103600009C911197E80FF91F20818D919C91119742 -:1036100001968F73907011969C938E9330E0C90140 -:103620000895DC0191968C919197882339F05496F6 -:10363000ED91FC915597808186FFF9CF91961C9270 -:103640000895CF93DF93EC01EE85FF85E05CFF4F9B -:1036500020813181E054F0402F5F3F4F2F73307055 -:10366000DF01AE5BBF4F8D919C91119728173907F1 -:10367000D1F3E05CFF4F80819181E054F040E80F8E -:10368000F91F6083EE85FF85E05CFF4F3183208367 -:10369000EE89FF89208181E090E00F8C02C0880FC5 -:1036A000991F0A94E2F7282B208381E089A3EC89F3 -:1036B000FD8980818064808381E090E0DF91CF91FB -:1036C0000895109228051092270588EE93E0A0E057 -:1036D000B0E08093290590932A05A0932B05B09321 -:1036E0002C058BE492E090932605809325058DE9C7 -:1036F00094E0909332058093310581EE94E09093AD -:1037000034058093330585EC90E0909336058093E3 -:10371000350584EC90E0909338058093370580EC74 -:1037200090E090933A058093390581EC90E0909376 -:103730003C0580933B0582EC90E090933E0580939E -:103740003D0586EC90E09093400580933F0584E032 -:103750008093410583E08093420587E08093430591 -:1037600085E08093440581E0809345050895CF93DB -:10377000DF930E94FB1E0E946C19C2EED9E10E94E9 -:1037800015192097E1F30E94E219F9CFFC0120E01E -:1037900030E08081882311F421E030E0C9010895F0 -:1037A000FC0181E0808308950E945B0108950E94DE -:1037B000B1000895CF92DF92EF92FF920F931F9383 -:1037C000CF93DF937C016B018A01C0E0D0E00FC092 -:1037D000D6016D916D01D701ED91FC910190F081C1 -:1037E000E02DC7010995C80FD91F015010400115E0 -:1037F000110571F7CE01DF91CF911F910F91FF90CD -:10380000EF90DF90CF900895EF92FF920F931F9368 -:10381000CF93DF937C018B01C0E0D0E0F8010F5F14 -:103820001F4F6491662359F0D701ED91FC910190EF -:10383000F081E02DC7010995C80FD91FEFCFCE0148 -:10384000DF91CF911F910F91FF90EF900895DC01D0 -:10385000ED91FC910190F081E02D09950895EF9292 -:10386000FF920F931F938C01DC01ED91FC9101906D -:10387000F081E02D6DE009957C01D801ED91FC917E -:103880000190F081E02DC8016AE009959C012E0DA0 -:103890003F1DC9011F910F91FF90EF900895CF93A5 -:1038A000DF93EC016115710519F420E030E00FC0E1 -:1038B000DB010D900020E9F71197A61BB70BE881FB -:1038C000F9810280F381E02DAD0109959C01C901C8 -:1038D000DF91CF9108954F925F927F928F929F9246 -:1038E000AF92BF92CF92DF92EF92FF920F931F930E -:1038F000DF93CF93CDB7DEB7A1970FB6F894DEBFB5 -:103900000FBECDBF2C01742ECB01223008F42AE06B -:1039100019A231E2C32ED12CCC0EDD1E822E9924A9 -:10392000AA24BB24672D752FA50194010E94BF24F2 -:1039300079018A01C801B701A50194010E94792487 -:10394000472D461B0894C108D1084A3014F4405D45 -:1039500001C0495CF6014083E114F1040105110541 -:1039600021F07E2C5F2DC801DDCFC201B6010E947F -:103970004F1CA1960FB6F894DEBF0FBECDBFCF91FE -:10398000DF911F910F91FF90EF90DF90CF90BF904C -:10399000AF909F908F907F905F904F900895DC0143 -:1039A0002115310541F4ED91FC910190F081E02D5C -:1039B000642F099508950E946B1C0895EF92FF9261 -:1039C0000F931F939A01E62EFF2400E010E0B80148 -:1039D000A7010E94CF1C1F910F91FF90EF900895B7 -:1039E000CF92DF92EF92FF920F931F93CF93DF93CB -:1039F000EC016A017B012115310541F4E881F9816F -:103A00000190F081E02D642F09951FC02A30310507 -:103A1000D1F477FF17C0E881F9810190F081E02DA2 -:103A20006DE209958C0144275527BA014C195D09AF -:103A30006E097F09CE012AE00E946B1C9801280FB5 -:103A4000391F04C02AE00E946B1C9C01C901DF9150 -:103A5000CF911F910F91FF90EF90DF90CF9008953D -:103A6000EF92FF920F931F937B019A010027F7FCBF -:103A70000095102FB801A7010E94F01C1F910F9113 -:103A8000FF90EF900895CF92DF92EF92FF920F9305 -:103A90001F936C017B019A010027F7FC0095102F02 -:103AA000B801A7010E94F01C8C01C6010E942F1CC6 -:103AB000080F191FC8011F910F91FF90EF90DF9021 -:103AC000CF9008950E944F1C0895EF92FF920F939C -:103AD0001F937C010E944F1C8C01C7010E942F1C68 -:103AE000080F191FC8011F910F91FF90EF900895C3 -:103AF000AF92BF92CF92DF92EF92FF920F931F93FC -:103B0000CF93DF935C016B01EE24FF24C0E0D0E093 -:103B100010C0D501ED91FC9100811181C601BE015B -:103B20000E941620682FC501F8010995E80EF91EBC -:103B30002196F60184819581C817D90750F3C701F2 -:103B4000DF91CF911F910F91FF90EF90DF90CF9079 -:103B5000BF90AF900895EF92FF920F931F937C0157 -:103B60000E94781D8C01C7010E942F1C9C01200F10 -:103B7000311FC9011F910F91FF90EF90089582307E -:103B800000F5E82FF0E0EE0FFF1FE95BFA4F7183BD -:103B90006083882319F08130A1F408C08091690006 -:103BA0008C7F842B80936900E89A08958091690046 -:103BB000440F551F440F551F837F842B809369004A -:103BC000E99A0895823080F4882319F0813021F435 -:103BD00002C0E89801C0E998E82FF0E0EE0FFF1F5F -:103BE000E95BFA4F1182108208951F920F920FB66F -:103BF0000F9211242F933F934F935F936F937F9373 -:103C00008F939F93AF93BF93EF93FF93809147055B -:103C100090914805892B29F0E0914705F0914805DE -:103C20000995FF91EF91BF91AF919F918F917F91F6 -:103C30006F915F914F913F912F910F900FBE0F9019 -:103C40001F9018951F920F920FB60F9211242F9369 -:103C50003F934F935F936F937F938F939F93AF9314 -:103C6000BF93EF93FF938091490590914A05892B6B -:103C700029F0E0914905F0914A050995FF91EF91EE -:103C8000BF91AF919F918F917F916F915F914F9174 -:103C90003F912F910F900FBE0F901F9018951F927C -:103CA0000F920FB60F9211242F933F938F939F93F0 -:103CB000AF93BF9380914F0590915005A09151050E -:103CC000B0915205309153050196A11DB11D232FCE -:103CD0002D5F2D3720F02D570196A11DB11D20938A -:103CE000530580934F0590935005A0935105B093D1 -:103CF000520580914B0590914C05A0914D05B091D6 -:103D00004E050196A11DB11D80934B0590934C0566 -:103D1000A0934D05B0934E05BF91AF919F918F91A8 -:103D20003F912F910F900FBE0F901F9018958FB756 -:103D3000F89420914F0530915005409151055091D4 -:103D400052058FBFB901CA0108959FB7F894209119 -:103D50004B0530914C0540914D0550914E0586B56F -:103D6000A89B06C08F3F21F02F5F3F4F4F4F5F4F03 -:103D70009FBF542F432F322F2227280F311D411D63 -:103D8000511D82E0220F331F441F551F8A95D1F722 -:103D9000B901CA010895EF92FF920F931F93CF9339 -:103DA000DF937B018C010E94A51EEB010EC00E94D7 -:103DB000A51E6C1B7D0B685E7340C8F30894E10878 -:103DC000F10801091109C851DC4FE114F1040105A2 -:103DD000110569F7DF91CF911F910F91FF90EF903F -:103DE0000895019739F0880F991F880F991F02973E -:103DF0000197F1F70895789484B5826084BD84B505 -:103E0000816084BD85B5826085BD85B5816085BDD5 -:103E1000EEE6F0E0808181608083E1E8F0E01082EE -:103E2000808182608083808181608083E0E8F0E02F -:103E3000808181608083E1EBF0E080818460808319 -:103E4000E0EBF0E0808181608083EAE7F0E0808150 -:103E500084608083808182608083808181608083B0 -:103E60008081806880831092C1000895CF93DF9392 -:103E7000482F50E0CA0189559F4FFC0134914D569F -:103E80005F4FFA018491882369F190E0880F991FB0 -:103E9000FC01EB58FF4FA591B491FC01E158FF4F95 -:103EA000C591D491662351F42FB7F8948C91932F38 -:103EB000909589238C93888189230BC0623061F4AB -:103EC0002FB7F8948C91932F909589238C938881A8 -:103ED000832B88832FBF06C09FB7F8948C91832BC8 -:103EE0008C939FBFDF91CF910895833071F0843020 -:103EF00028F48130A1F0823021F514C08630B1F071 -:103F00008730D1F08430E9F404C0809180008F774D -:103F100003C0809180008F7D80938000089584B5D8 -:103F20008F7702C084B58F7D84BD08958091B000E5 -:103F30008F778093B00008958091B0008F7D80933B -:103F4000B0000895FF920F931F93F62E482F50E074 -:103F5000CA0185549F4FFC012491CA0189559F4F86 -:103F6000FC0114914D565F4FFA0104910023C9F0F2 -:103F7000222319F0822F0E94751FE02FF0E0EE0F30 -:103F8000FF1FE158FF4FA591B4919FB7F894FF2010 -:103F900021F48C911095812302C08C91812B8C93FC -:103FA0009FBF1F910F91FF9008950F931F93482F6C -:103FB00050E0CA0185549F4FFC012491CA018955E4 -:103FC0009F4FFC0104914D565F4FFA01149111234C -:103FD00019F420E030E015C0222319F0822F0E944E -:103FE000751F812F90E0880F991F87579F4FFC0105 -:103FF000A591B4918C9120E030E0802311F021E074 -:1040000030E0C9011F910F910895FC0184819581D1 -:104010006817790748F40190F081E02D309721F07E -:10402000E60FF71F8081089580E00895FC018481E8 -:1040300095816817790748F40190F081E02D309759 -:1040400021F0E60FF71F8081089580E00895FC01BC -:1040500080819181009729F420E030E040E050E039 -:1040600004C00E94A6029B01AC01B901CA010895D7 -:10407000CF93DF93FC01DB018481958148175907B9 -:1040800060F4C081D1816D917C91CE01840F951F28 -:104090000E9415039C01009719F42FEF3FEF02C017 -:1040A0002C1B3D0BC901DF91CF910895CF93DF9376 -:1040B000FC01848195814817590768F4C081D1813A -:1040C000772767FD7095CE01840F951F0E94F4023B -:1040D0009C01009719F42FEF3FEF02C02C1B3D0B02 -:1040E000C901DF91CF91089540E050E00E94562031 -:1040F00008950F931F93CF93DF93FC018B0141151C -:104100005105F9F061157105E1F084819581281759 -:10411000390718F0FB01108214C041505040EC01E7 -:10412000C21BD30B4C175D0708F4EA016081718153 -:10413000620F731FC801AE010E940603C00FD11F9A -:104140001882DF91CF911F910F9108950F931F93C4 -:10415000CF93DF93EC018B016F5F7F4F8881998153 -:104160000E94B301009711F480E005C09983888311 -:104170001B830A8381E0DF91CF911F910F910895F6 -:10418000CF93DF93EC0188819981892B29F08A8173 -:104190009B818617970760F4CE010E94A620882392 -:1041A00041F08C819D81892B19F4E881F98110827D -:1041B00081E0DF91CF910895EF92FF920F931F93CB -:1041C000CF93DF93EC017B016C817D81E114F104DD -:1041D000C1F04115510599F08A01060F171FB8016A -:1041E0000E94C020882369F0888199812C813D81BB -:1041F000820F931FB7010E94FF021D830C8381E091 -:1042000001C080E0DF91CF911F910F91FF90EF905F -:104210000895EF92FF920F931F93DF93CF93CDB743 -:10422000DEB727970FB6F894DEBF0FBECDBF7C0177 -:10423000CB018E010F5F1F4FB8014AE050E00E9492 -:104240006103F80101900020E9F73197E01BF10BC1 -:10425000C701B801AF010E94DC2027960FB6F89481 -:10426000DEBF0FBECDBFCF91DF911F910F91FF90A9 -:10427000EF900895EF92FF920F931F93DF93CF93E8 -:1042800000D000D0CDB7DEB77C01862F90E08E0144 -:104290000F5F1F4FB8014AE050E00E946103F80130 -:1042A00001900020E9F73197E01BF10BC701B8013D -:1042B000AF010E94DC200F900F900F900F90CF91D4 -:1042C000DF911F910F91FF90EF900895DF93CF93AF -:1042D00000D0CDB7DEB769831A82BE016F5F7F4F12 -:1042E00041E050E00E94DC200F900F90CF91DF91D1 -:1042F00008956115710511F480E00895DB010D90BA -:104300000020E9F71197A61BB70BAD010E94DC2036 -:104310000895FB0160817181448155810E94DC20F8 -:104320000895CF93DF93EC0188819981009711F074 -:104330000E945B01198218821D821C821B821A82D4 -:10434000DF91CF910895EF92FF920F931F93CF9338 -:10435000DF93EC017B018A01BA010E94C02088230F -:1043600021F4CE010E94912107C01D830C83888116 -:104370009981B7010E94FF02CE01DF91CF911F9179 -:104380000F91FF90EF900895CF93DF93EC01198286 -:1043900018821B821A821D821C821E826115710581 -:1043A00051F0DB010D900020E9F71197A61BB70B28 -:1043B000AD010E94A321DF91CF9108950F931F9328 -:1043C000182F092F6115710559F0DB010D900020A0 -:1043D000E9F71197A61BB70BAD010E94A32102C0FC -:1043E0000E949121812F902F1F910F910895EF929C -:1043F000FF920F931F93DF93CF93CDB7DEB76297F2 -:104400000FB6F894DEBF0FBECDBF8C01CB01F80113 -:1044100011821082138212821582148216827E010A -:104420000894E11CF11CB70150E00E946103C8012F -:10443000B7010E94DE2162960FB6F894DEBF0FBE70 -:10444000CDBFCF91DF911F910F91FF90EF90089515 -:10445000EF92FF920F931F93DF93CF93CDB7DEB709 -:1044600029970FB6F894DEBF0FBECDBF8C01862F03 -:10447000F801118210821382128215821482168230 -:1044800090E07E010894E11CF11CB70150E00E940D -:104490009F03C801B7010E94DE2129960FB6F89448 -:1044A000DEBF0FBECDBFCF91DF911F910F91FF9067 -:1044B000EF900895BF92CF92DF92EF92FF920F9309 -:1044C0001F93CF93DF93082FB92E6B017A01E90177 -:1044D0002417350710F4EA017901802F9B2D61E143 -:1044E00072E00E94C421D60114968D919C9115977B -:1044F0008E159F05D0F08C179D0708F4EC01D601AE -:10450000ED91FC911197EC0FFD1F108110826D91C0 -:104510007C916E0D7F1D802F9B2D0E94DE21D60188 -:10452000ED91FC91EC0FFD1F1083802F9B2DDF91EF -:10453000CF911F910F91FF90EF90DF90CF90BF90A0 -:1045400008950F931F938C01FB01248135810E94F4 -:104550005A22C8011F910F910895CF93DF93EC0168 -:10456000FB018617970761F0608171816115710504 -:1045700029F0448155810E94A32102C00E9491210B -:10458000CE01DF91CF910895FC01808191810E943D -:104590005B0108955058BB27AA270ED009C1FAD055 -:1045A00030F0FFD020F031F49F3F11F41EF4EFC043 -:1045B0000EF4E095E7FBE5C0E92F0BD180F3BA17C5 -:1045C000620773078407950718F071F49EF523C1FD -:1045D0000EF4E0950B2EBA2FA02D0B01B90190011E -:1045E0000C01CA01A0011124FF27591B99F0593F62 -:1045F00050F4503E68F11A16F040A22F232F342FAA -:104600004427585FF3CF469537952795A795F040F7 -:104610005395C9F77EF41F16BA0B620B730B840B0C -:10462000BAF09150A1F0FF0FBB1F661F771F881FC4 -:10463000C2F70EC0BA0F621F731F841F48F487951C -:1046400077956795B795F7959E3F08F0B3CF93950B -:10465000880F08F09927EE0F97958795089504D055 -:104660006894B111D9C00895BCD088F09F5790F0DC -:10467000B92F9927B751A0F0D1F0660F771F881F87 -:10468000991F1AF0BA95C9F712C0B13081F0C3D0A2 -:10469000B1E00895C0C0672F782F8827B85F39F040 -:1046A000B93FCCF3869577956795B395D9F73EF4E6 -:1046B00090958095709561957F4F8F4F9F4F08958E -:1046C000E89409C097FB3EF49095809570956195AC -:1046D0007F4F8F4F9F4F9923A9F0F92F96E9BB2762 -:1046E0009395F695879577956795B795F111F8CFDE -:1046F000FAF4BB0F11F460FF1BC06F5F7F4F8F4F49 -:104700009F4F16C0882311F096E911C0772321F03E -:104710009EE8872F762F05C0662371F096E8862FD6 -:1047200070E060E02AF09A95660F771F881FDAF72D -:10473000880F9695879597F90895990F0008550F5A -:10474000AA0BE0E8FEEF16161706E807F907C0F017 -:1047500012161306E407F50798F0621B730B840B1F -:10476000950B39F40A2661F0232B242B252B21F4F9 -:1047700008950A2609F4A140A6958FEF811D811D99 -:10478000089597F99F6780E870E060E008959FEFD3 -:1047900080EC089500240A941616170618060906D8 -:1047A000089500240A9412161306140605060895A7 -:1047B000092E0394000C11F4882352F0BB0F40F42F -:1047C000BF2B11F460FF04C06F5F7F4F8F4F9F4F6F -:1047D000089557FD9058440F551F59F05F3F71F0F1 -:1047E0004795880F97FB991F61F09F3F79F0879558 -:1047F0000895121613061406551FF2CF4695F1DFE1 -:1048000008C0161617061806991FF1CF8695710570 -:10481000610508940895E894BB2766277727CB01A4 -:1048200097F908958ADF08F48FEF08950BD0C0CF71 -:10483000B1DF28F0B6DF18F0952309F0A2CFA7CF9B -:104840001124EACFC6DFA0F3959FD1F3950F50E076 -:10485000551F629FF001729FBB27F00DB11D639F32 -:10486000AA27F00DB11DAA1F649F6627B00DA11DD8 -:10487000661F829F2227B00DA11D621F739FB00D7E -:10488000A11D621F839FA00D611D221F749F3327EE -:10489000A00D611D231F849F600D211D822F762F87 -:1048A0006A2F11249F5750408AF0E1F088234AF084 -:1048B000EE0FFF1FBB1F661F771F881F91505040D0 -:1048C000A9F79E3F510570F05CCFA6CF5F3FECF398 -:1048D000983EDCF3869577956795B795F795E795BC -:1048E0009F5FC1F7FE2B880F911D9695879597F9CD -:1048F0000895629FD001739FF001829FE00DF11D2A -:10490000649FE00DF11D929FF00D839FF00D749F49 -:10491000F00D659FF00D9927729FB00DE11DF91FF5 -:10492000639FB00DE11DF91FBD01CF011124089552 -:10493000AA1BBB1B51E107C0AA1FBB1FA617B707C5 -:1049400010F0A61BB70B881F991F5A95A9F78095E1 -:104950009095BC01CD01089597FB092E07260AD03A -:1049600077FD04D0E5DF06D000201AF4709561953C -:104970007F4F0895F6F7909581959F4F0895A1E296 -:104980001A2EAA1BBB1BFD010DC0AA1FBB1FEE1FC9 -:10499000FF1FA217B307E407F50720F0A21BB30B14 -:1049A000E40BF50B661F771F881F991F1A9469F790 -:1049B00060957095809590959B01AC01BD01CF01EC -:1049C0000895EE0FFF1F0590F491E02D09942F92AA -:1049D0003F924F925F926F927F928F929F92AF928F -:1049E000BF92CF92DF92EF92FF920F931F93CF93DC -:1049F000DF93CDB7DEB7CA1BDB0B0FB6F894DEBF73 -:104A00000FBECDBF09942A88398848885F846E8498 -:104A10007D848C849B84AA84B984C884DF80EE80E2 -:104A2000FD800C811B81AA81B981CE0FD11D0FB6EB -:104A3000F894DEBF0FBECDBFED01089510E0C4EDC8 -:104A4000D0E004C0FE010E94E3242296C63DD107B7 -:064A5000C9F7F894FFCF46 -:104A56000041530025303258003030003000433DCD -:104A6600004C4C3D004C483D00534C3D0053483DE6 -:104A7600004D53003D00443D0043503D0053503D22 -:104A8600004F00636F7079004D430050004D550094 -:104A960053796E633A2000202D3E2053796E63468B -:104AA6006163743A20002C20436C6F636B3A2000DC -:104AB6002C20546F6C3A20002C20506174744C6585 -:104AC6006E3A200020002C2050756C73653A200049 -:104AD6002C20002C206D53746172743A20005369A7 -:104AE600676E616C3A20002E2000205B005D00504E -:104AF60061747465726E3A20002050003A20002AD4 -:104B06005B00005550442046696C746572003B4357 -:104B16003D003B53463D003B004954506172616D78 -:104B2600733A200020005620332E312E382D484669 -:104B360032205349474E414C6475696E6F202D20D3 -:104B4600636F6D70696C6564206174204E6F7620AA -:104B5600203820323031352032313A33363A333745 -:104B66000000200058050000062C0100000000454A -:104B76000F6D076E07791000000000450F6D076E78 -:104B860007560A0000000005076D076E076F07004D -:104B96000000000000020000000000211BDA1BB725 -:084BA6001AE81AC81A111B00DD +:100000000C9477000C94EF130C9416140C949F002E +:100010000C949F000C949F000C949F000C949F00E4 +:100020000C949F000C949F000C949F000C949F00D4 +:100030000C949F000C947F080C949F000C949F00DC +:100040000C943D140C949F000C9401170C943317DE +:100050000C949F000C949F000C949F000C949F00A4 +:100060000C949F000C949F003B4D433D003B4D552D +:100070003D004D533D00556E737570706F72746521 +:100080006420636F6D6D616E640020557365206F31 +:100090006E65206F6620000000000800020100006D +:1000A0000304070000000000000000010204081023 +:1000B00020408001020408102001020408102004DE +:1000C00004040404040404020202020202030303FF +:1000D00003030300000000250028002B000000009F +:1000E00000240027002A0000190863175C08112467 +:1000F0001FBECFEFD8E0DEBFCDBF12E0A0E0B1E081 +:10010000ECE9F7E402C005900D92A231B107D9F7EE +:1001100024E0A2E1B2E001C01D92AF3DB207E1F7D9 +:1001200010E0CCEED0E004C02297FE010E94ED1D4D +:10013000C83ED107C9F70E94AA170C94C1230C949A +:100140000000CF92DF92EF92FF920F931F930E94D5 +:1001500093140091190210911A0220911B02309100 +:100160001C026B017C01C01AD10AE20AF30A970152 +:1001700086016093190270931A0280931B02909378 +:100180001C020A3511052105310578F181E0C816F8 +:100190008DE7D806E104F10410F4960102C021E0D5 +:1001A0003DE74A9B03C031952195310980915F035A +:1001B0008B34D8F480915F038F5F80935F038091CD +:1001C000600360915E030E94951D90936003E0912F +:1001D0006003F0E0EE0FFF1FEE59FC4F31832083E8 +:1001E000809160038F5F809360031F910F91FF9058 +:1001F000EF90DF90CF9008950F931F9360912302AB +:100200008DE00E948615109223020E9493140091A3 +:10021000190210911A0220911B0230911C02601BDE +:10022000710B820B930B62307D478105910520F0A5 +:100230001F910F910C94A1001F910F9108958DE1D2 +:1002400092E00E94521987E593E00E94521981E5DD +:1002500093E00C945219CF93DF93EC01FB012481BE +:1002600035810E94951BCE01DF91CF91089541E029 +:1002700050E061EA70E080E00C94BD1380E00C94E3 +:10028000DD13CF93DF931F92CDB7DEB72B9A20916A +:10029000060130910701482F429FC001439F900DF6 +:1002A000112469830E94DE142B988091060190919D +:1002B00007016981FC016E9FC0016F9F900D1124A1 +:1002C0000F90DF91CF910C94DE14EF92FF920F9379 +:1002D0001F93CF93DF93F82EE92E0E943E0100E09A +:1002E00010E02091080130E0021713072CF56FE1B0 +:1002F00081E00E944101CF2DDE2D29912223C9F0FA +:10030000213371F0263449F02033B9F763E081E0FE +:100310000E94410163E081E009C063E081E002C026 +:1003200061E083E00E94410161E083E00E944101BD +:10033000E4CF0F5F1F4FD5CFDF91CF911F910F916A +:10034000FF90EF900C9437013F924F925F926F9223 +:100350007F928F929F92AF92BF92CF92DF92EF9255 +:10036000FF920F931F93CF93DF93082FEB01542E2F +:10037000452E59010E9493146B017C0110E0812CE1 +:10038000912CB401600F711FC617D707A8F1C501E2 +:100390000E944D1B8053E52DF42DE80FF11DE80F51 +:1003A000F11D90818181382E331C3324331C692E3A +:1003B000782E31F077FE0CC071946194710808C0FA +:1003C00077FE03C071946194710888E1681A71081E +:1003D0000E9493146C157D058E059F05C8F333208C +:1003E00011F02B9801C02B9AC60CD71CE11CF11CF4 +:1003F0008FEF881A980AC5CF0E9493146C157D055B +:100400008E059F05C8F3DF91CF911F910F91FF904B +:10041000EF90DF90CF90BF90AF909F908F907F90A4 +:100420006F905F904F903F9008954F925F926F92C0 +:100430007F928F929F92AF92BF92CF92DF92EF9274 +:10044000FF920F931F93CF93DF93982E862E2A014E +:100450002B9A0E9493146B017C01662457FC6094D4 +:10046000762C891408F446C0692D70E08DE192E085 +:100470000E944D1B90ED980F9A3010F4892F01C007 +:100480008753C4E0D0E008E0A82EBB24A7FCB094BA +:100490000E9493146C157D058E059F05C8F310E02E +:1004A00098012A213B21232B71F02B98C40CD51CD9 +:1004B000E61CF71C0E9493146C157D058E059F05A4 +:1004C000C8F32B9A0DC02B9AC40CD51CE61CF71C44 +:1004D0000E9493146C157D058E059F05C8F32B981B +:1004E000C40CD51CE61CF71C15950795219781F6C1 +:1004F0009394B7CF0E9493146C157D058E059F05CC +:10050000C8F3DF91CF911F910F91FF90EF90DF9093 +:10051000CF90BF90AF909F908F907F906F905F90A3 +:100520004F900895CF92DF92EF92FF920F931F9317 +:10053000CF93DF9300D000D000D0CDB7DEB78C01D1 +:100540006B01FC01E080F1806DE071E0CE0101966D +:100550000E94C019A701BE016F5F7F4F8DE192E03D +:100560000E94791B7C01CE0101960E945219FFEF77 +:10057000EF16FF0601F1F801408151814F3FFFEF77 +:100580005F07C9F097016DE172E0CE0101960E940C +:10059000951BBE016F5F7F4FC6010E940C1ACE01F2 +:1005A00001960E9452198FEFE81AF80AF801F182B9 +:1005B000E08281E001C080E026960FB6F894DEBFAD +:1005C0000FBECDBFDF91CF911F910F91FF90EF90A4 +:1005D000DF90CF900895BF92CF92DF92EF92FF927B +:1005E0000F931F93CF93DF93CDB7DEB7C856D109D2 +:1005F0000FB6F894DEBF0FBECDBF63E072E0CE0150 +:100600008F599F4F0E94C0196EE170E0CE018F5943 +:100610009F4F0E948319A9961FAE1EAEA9970E94F4 +:100620003E011FEF01E042E1F42E59E0E52E62E0C9 +:10063000D62ECC24C394BE016F597F4FCE01895969 +:100640009F4F0E949202882309F44FC060E070E03F +:10065000CE018F599F4F0E944D1B833589F561E074 +:1006600070E0CE018F599F4F0E944D1B833419F3C8 +:1006700061E070E0CE018F599F4F0E944D1B8D3479 +:1006800059F41F5FE1E0F0E0EC0FFD1FF19EE00D7B +:10069000F11D1124C282CFCF61E070E0CE018F59ED +:1006A0009F4F0E944D1B823531F61F5FE1E0F0E065 +:1006B000EC0FFD1FF19EE00DF11D1124D282BBCF86 +:1006C00060E070E0CE018F599F4F0E944D1B803536 +:1006D00009F068C062E070E0CE018F599F4F0E9420 +:1006E0004D1B8D3309F05EC082C0B12C32E1C32EA8 +:1006F000B016D1F1D12CED2CF12CCE9CA001CF9CC9 +:10070000500D1124E1E0F0E0EC0FFD1FE40FF51FA8 +:100710008281823079F44A5F5F4F21E030E02C0F14 +:100720003D1F420F531F648175812DE132E08381AB +:100730000E94A401CE9CF001CF9CF00D112481E019 +:1007400090E08C0F9D1FE80FF91F8281813031F4FA +:1007500040815181648183810E9415022B98D3943A +:100760001D1548F6B394C4CF0E9437016DE172E0C5 +:100770008EE394E00E944518CE018F599F4F0E944E +:100780005219C859DF4F0FB6F894DEBF0FBECDBF68 +:10079000DF91CF911F910F91FF90EF90DF90CF905D +:1007A000BF90089560E070E0CE018F599F4F0E9486 +:1007B0004D1B823509F050C061E070E0CE018F59C9 +:1007C0009F4F0E944D1B8D3309F046C042E050E020 +:1007D000BE016F597F4FCE01855A9F4F0E942B015A +:1007E000CE01855A9F4F0E94DA1B062F82C022E05D +:1007F00030E041E050E0BE016F597F4FCE01855A95 +:100800009F4F0E94951BCE01855A9F4F0E94DA1B75 +:10081000B62ECE01855A9F4F0E94521943E050E0F8 +:10082000BE016F597F4FCE01855A9F4F0E942B0109 +:10083000CE01855A9F4F0E94DA1BE19EF0011124E0 +:10084000EB0DF11D3396EE0FFF1F21E030E02C0F72 +:100850003D1FE20FF31F4BC060E070E0CE018F59E7 +:100860009F4F0E944D1B8434B9F4A9968EAD9FAD65 +:10087000A997E1E0F0E0EC0FFD1FF19EE00DF11D06 +:10088000112421E0280FA6963FADA697231B2383B2 +:10089000029795838483CFCE60E070E0CE018F59BC +:1008A0009F4F0E944D1B833409F0C5CE61E070E07C +:1008B000CE018F599F4F0E944D1B8D3309F0BBCE47 +:1008C00042E050E0BE016F597F4FCE01855A9F4FE5 +:1008D0000E942B01CE01855A9F4F0E94DA1BE1E056 +:1008E000F0E0EC0FFD1FF19EE00DF11D112471836E +:1008F0006083CE01855A9F4F0E9452199CCE62E7B9 +:1009000070E08EE394E00E94F7176091270270E098 +:100910004AE050E08EE394E00E940C196DE670E02E +:100920008EE394E00E94F7176091250270E04AE0A0 +:1009300050E08EE394E00E940C1968E670E08EE3CC +:1009400094E00E94F7176091260270E04AE050E0C0 +:100950008EE394E00C941419CF93DF93CDB7DEB7F8 +:10096000AE970FB6F894DEBF0FBECDBF61E070E06A +:100970008DE192E00E944D1B843729F161E070E027 +:100980008DE192E00E944D1B823721F542E050E05C +:100990006DE172E0CE0101960E942B0120E030E073 +:1009A00043E050E0BE01675D7F4FCE0101960E949B +:1009B0004F1BCE0101960E945219CE0189960E94CA +:1009C000E21F809308016DE172E08EE394E00E94E3 +:1009D000451895C061E070E08DE192E00E944D1BEA +:1009E0008337F1F42B9A42E050E06DE172E0CE01E2 +:1009F00089960E942B0120E030E048E250E0BE01E1 +:100A00006F5F7F4FCE0189960E944F1BCE01899662 +:100A10000E945219CE0101960E9465012B98D3CFF6 +:100A200061E070E08DE192E00E944D1B8336A9F4F5 +:100A300042E050E06DE172E0CE0101960E942B0190 +:100A4000CE0101960E94DA1B7093070160930601A4 +:100A5000CE0101960E945219B6CF61E070E08DE19F +:100A600092E00E944D1B803709F049C063E072E0BC +:100A7000CE0189960E94C01964E170E0CE0189968A +:100A80000E9483196FE071E0CE0189960E94181AC6 +:100A90004AE060910801CE0101960E94301ABE0121 +:100AA0006F5F7F4FCE0189960E94B51ACE010196E5 +:100AB0000E94521963E971E0CE0189960E94BC1A26 +:100AC00060910601709107014AE0CE0101960E94F3 +:100AD0005D1ABE016F5F7F4FCE0189960E94B51AE5 +:100AE000CE0101960E945219BE01675D7F4F8EE3D1 +:100AF00094E00E944518CE0189960E945219AE9644 +:100B00000FB6F894DEBF0FBECDBFDF91CF91089531 +:100B1000CF93DF9300D0CDB7DEB72091DB043091C7 +:100B2000DC042115310511F42FED34E0CE010196DE +:100B3000821B930B0F900F90DF91CF910895CF926E +:100B4000DF92EF92FF920E9487146B017C0128EEE6 +:100B500033E040E050E00E94C91D80911402909162 +:100B60001502A0911602B0911702C816D906EA061E +:100B7000FB0648F480911202909113020196909323 +:100B8000130280931202C0921402D0921502E092D6 +:100B90001602F0921702CA01B901FF90EF90DF90A0 +:100BA000CF9008956AE171E08EE394E00E945718B7 +:100BB00061E070E080E090E00C94B61461E070E0D9 +:100BC0008DE192E00E944D1B813511F40E943E019F +:100BD00061E070E08DE192E00E944D1B853411F4DC +:100BE0000C9437010895262F220F330B94E049020D +:100BF000B0011124682B622B81E090E00C94C62296 +:100C0000CF93DF9361E070E08DE192E00E944D1B95 +:100C1000873421F4DF91CF910C947F0462E070E07F +:100C20008DE192E00E944D1B833599F062E070E007 +:100C30008DE192E00E944D1B853571F062E070E01D +:100C40008DE192E00E944D1B833441F4C6E2D2E074 +:100C500005C0C7E2D2E002C0C5E2D2E061E070E0C8 +:100C60008DE192E00E944D1B853419F481E0888368 +:100C700009C061E070E08DE192E00E944D1B843478 +:100C800059F4188240912602609125028091270232 +:100C9000DF91CF910C94F305DF91CF91089560E03F +:100CA00070E08DE192E00E944D1B803511F40C94B0 +:100CB000D20560E070E08DE192E00E944D1B8F3321 +:100CC00009F072C06FE38EE394E00E9428186AE88E +:100CD00070E08EE394E00E94F71766E58EE394E0FF +:100CE0000E94281860E28EE394E00E94281869E6CA +:100CF0008EE394E00E94281860E28EE394E00E9464 +:100D0000281862E58EE394E00E94281860E28EE3E2 +:100D100094E00E94281864E78EE394E00E9428186B +:100D200060E28EE394E00E94281868E58EE394E088 +:100D30000E94281860E28EE394E00E94281866E47E +:100D40008EE394E00E94281860E28EE394E00E9413 +:100D5000281863E58EE394E00E94281860E28EE391 +:100D600094E00E94281860E58EE394E00E94281821 +:100D700060E28EE394E00E94281863E48EE394E03E +:100D80000E94281860E28EE394E00E94281867E42D +:100D90008EE394E00E94281860E28EE394E00E94C3 +:100DA000281863E072E00AC060E070E08DE192E034 +:100DB0000E944D1B863531F46DE171E08EE394E0C5 +:100DC0000C94571860E070E08DE192E00E944D1B9A +:100DD000823549F40E9488054AE050E0BC018EE368 +:100DE00094E00C94141960E070E08DE192E00E94B0 +:100DF0004D1B893641F484E292E00E94E508892B7C +:100E000081F40C94AC0460E070E08DE192E00E940B +:100E10004D1B833561F484E292E00E94E508892B42 +:100E200021F081E08093180208950C94EB0260E0B9 +:100E300070E08DE192E00E944D1B843751F40E94D6 +:100E40009F05AB01BC012AE030E08EE394E00C94F6 +:100E5000401960E070E08DE192E00E944D1B883502 +:100E600011F40C94DE0560E070E08DE192E00E94E8 +:100E70004D1B8634D1F060E070E08DE192E00E947D +:100E80004D1B833411F40C94000660E070E08DE19A +:100E900092E00E944D1B873411F40C947F0466E7A6 +:100EA00070E08EE394E00C94331808951F93CF9371 +:100EB000DF9300D0CDB7DEB780911802882389F088 +:100EC000109218020E944F0680911802811106C0EC +:100ED00063E072E08DE192E00E94181A81E0809355 +:100EE000230211E080915F03882341F180915F0329 +:100EF000815080935F038091610360915E030E9443 +:100F0000951D90936103E091610381E08E0F8093C2 +:100F10006103F0E0EE0FFF1FEE59FC4F80819181DD +:100F20009A838983BE016F5F7F4F84E292E00E94C3 +:100F30009B138823B9F210932302D4CF0F900F9004 +:100F4000DF91CF911F910895EF92FF920F931F931E +:100F5000CF93DF93EC017B018A0181E090E00E9456 +:100F6000BE22982F9170988381FB992790F9F70101 +:100F7000908382FB882780F9F8018083DF91CF91ED +:100F80001F910F91FF90EF90089526E040E051EE01 +:100F900060E070E08EE394E00E949F1660E082E0E3 +:100FA0000E944D1561E08BE00E944D1561E08DE0DF +:100FB0000E944D1580E1809381001092800082E0B4 +:100FC0008093FA0388E199E79093FC038093FB03F5 +:100FD000909387008093860082E1809381008CEF5C +:100FE00090E09093F9038093F80381E080936F0081 +:100FF00080E090E00E94BE228B3049F446E252E04D +:1010000065E272E087E292E00E94A4070AC06BE00A +:1010100080E090E00E94C62267E081E090E00E94BC +:10102000C6220E94370164E170E08DE192E00C94E9 +:1010300083190F931F93CF93DF938BE480935E0309 +:1010400010925F031092610310926003C7E3D3E034 +:10105000D0933C03C0933B0309E313E010933E039A +:1010600000933D0363E072E081E593E00E94C019C4 +:1010700063E072E087E593E00E94C019F8011182F5 +:1010800010821982188284E292E00E94A70863E02D +:1010900072E08DE192E00E94C0190E949314609367 +:1010A000190270931A0280931B0290931C02DF9125 +:1010B000CF911F910F9108950C941F01CF93C1E020 +:1010C0008EE394E00E94BC15892BB9F08EE394E086 +:1010D0000E94D5158A3041F01CF4882329F007C0FE +:1010E0008D3011F0833219F4C0931802E9CF682FC4 +:1010F0008DE192E00E94CC1AE3CFCF9108951F9228 +:101100000F920FB60F9211242F933F934F935F933B +:101110006F937F938F939F93AF93BF93EF93FF93BF +:10112000E091F803F091F9030995FF91EF91BF91D8 +:10113000AF919F918F917F916F915F914F913F916F +:101140002F910F900FBE0F901F9018950895FC01DE +:10115000E85FFE4F1082B39610827B971082319623 +:10116000118210827B962FEF2083FC012083AC013B +:1011700020E030E0FA01E15EFE4F11821082FC01B6 +:10118000E20FF31F14822F5F3F4F4E5F5F4F2630F9 +:10119000310581F7FC01E55FFE4F1082339626E9A9 +:1011A00030E0318320833D964DEC5CEC6CE47EE3D3 +:1011B00040835183628373837297108233961082C7 +:1011C0003196108233971082089580E090E0089560 +:1011D000CF93DF93FC01E55DFE4FD081C0E07D97AA +:1011E000CD17C1F0DC01A15EBE4F2D913C91AB014A +:1011F000421B530B9A0157FF03C0319521953109CA +:101200000296408151814217530714F08C2F03C07E +:10121000CF5FE6CF8FEFDF91CF910895FC0114826D +:1012200015821682178210861186411104C0DC01D6 +:10123000A85FBE4F4C91641780F4DF01A60FB11D6B +:101240001A968C91DF01A80FB11D14968C911497FA +:101250008F5F14968C936F5FEECF08952F923F921D +:101260004F925F926F927F928F929F92AF92BF92B6 +:10127000CF92DF92EF92FF920F931F93CF93DF9362 +:10128000CDB7DEB72E970FB6F894DEBF0FBECDBF39 +:101290009E878D8740E060E00E940E09ED85FE8507 +:1012A000E55DFE4F5080712C2D853E85255E3E4FBD +:1012B0003A8729878D859E85885F9E4F9C878B877F +:1012C000751409F4C3C044244394470C642C272CA0 +:1012D000312CC101880F991FAD85BE858A0F9B1FD8 +:1012E000FC01E15EFE4FFA83E9832A0E3B1EF4E027 +:1012F0002F0E311C29813A8138872F83651409F418 +:10130000A3C0862D90E09C838B83880F991F9E83BA +:101310008D83FC01AD85BE85EA0FFB1FE15EFE4FAC +:1013200000811181C80117FF04C088279927801BFD +:10133000910BBC01882777FD8095982F0E947E1C19 +:10134000E985FA8520813181428153810E94321DD5 +:101350004B015C01A981BA81CD90DC907801EC1839 +:10136000FD08F7FE03C0F194E194F10820E030E0BD +:1013700040E05FE3C501B4010E94321D9B01AC0156 +:10138000C501B4010E94E71B0E944B1C6E157F052E +:101390000CF458C0EB85FC85208180E090E082173A +:1013A00050F4ED85FE85E80FF91F3285361101C036 +:1013B00072860196F4CFD1014C91552747FD509587 +:1013C000EB81FC812D853E85E20FF31FE481FF2731 +:1013D000E7FDF0959A012E0F3F1F21153105E1F42D +:1013E000C49EC001C59E900DD49E900D1124B901DC +:1013F0000E94B51D7B010E9FC0010F9F900D1E9F87 +:10140000900D1124B9010E94B51DE60EF71EAF81A3 +:10141000B885ED92FC920CC00C0D1D1D17FF02C08B +:101420000F5F1F4F15950795E981FA81118300839E +:10143000ED81FE812D853E85E20FF31FE15EFE4FBB +:101440001182108263945ACF742C3ACF2E960FB625 +:10145000F894DEBF0FBECDBFDF91CF911F910F91EA +:10146000FF90EF90DF90CF90BF90AF909F908F90C4 +:101470007F906F905F904F903F902F9008953F9294 +:101480004F925F926F927F928F929F92AF92BF9294 +:10149000CF92DF92EF92FF920F931F93CF93DF9340 +:1014A000EC018FEF8883FE01E55DFE4F30806E0119 +:1014B00000E010E0EE24EA94FE2C4E0188EF881A3A +:1014C0008EEF980A031508F06AC0F601E15EFE4F40 +:1014D0005F01FFEFEF16FF0639F5F501808191817D +:1014E00097FD22C0FE01E00FF11F6481772767FDA1 +:1014F0007095872F972F0E947E1C2B013C01F401D1 +:10150000608170E080E090E00E947E1C2BE734E177 +:101510004EE25EE30E94321D9B01AC01C301B201A9 +:101520000E942E1D1816A4F1F5012081318137FD8E +:1015300030C0C701880F991F8C0F9D1FFC01E15E11 +:10154000FE4F80819181281739071CF5FE01E00FBD +:10155000F11F6481772767FD7095872F972F0E9471 +:101560007E1C2B013C01F401608170E080E090E082 +:101570000E947E1C2BE734E14EE25EE30E94321DA6 +:101580009B01AC01C301B2010E942E1D18160CF480 +:1015900078010F5F1F4FF2E0CF0ED11C93CF8FEF7A +:1015A000E816F80641F0E882CF5EDE4F81E090E079 +:1015B0009983888301C080E0DF91CF911F910F91C3 +:1015C000FF90EF90DF90CF90BF90AF909F908F9063 +:1015D0007F906F905F904F903F9008958F929F9271 +:1015E000AF92BF92CF92DF92EF92FF920F931F9331 +:1015F000CF93DF93FC018C010F5E1E4FD8018D91BC +:101600009C911197019709F07CC05A96BC90BA94AE +:10161000C7E0AC2E6F01B8EFCB1ABEEFDB0AB7FC08 +:1016200070C02B2D332727FD3095C901880F991FD6 +:101630008E0F9F1FDC01A15EBE4FCD91DC91D7FFC5 +:101640005EC0D195C195D109C83682E4D80708F0AB +:1016500056C0E080FF24E7FCF094C701880F991F73 +:101660008E0F9F1FDC01A15EBE4F8D909C90CE011E +:10167000B4010E94A11D6832710508F040C0A89C09 +:10168000C001A99C900D11248C179D07C0F5DF01A6 +:10169000A20FB31F14968C9186308CF5D6014C9115 +:1016A00050E0BA0161507109912C892D90E08617A4 +:1016B000970784F4DF01A80FB91F1B96CC911B97E5 +:1016C000D0E0C217D307C9F41A96AC91B0E0AE15BA +:1016D000BF0599F4485251098417950784F4DF0136 +:1016E000A45DBE4FBC9282E090E0D8018D939C93A4 +:1016F000E75FFE4F908281E009C09394D6CFBA9401 +:101700008ECFE45DFE4F8FEF808380E0DF91CF913D +:101710001F910F91FF90EF90DF90CF90BF90AF900F +:101720009F908F9008950F931F93CF93DF938A011B +:10173000E9018EE394E00E941A18B8018EE394E068 +:101740000E941A18BE018EE394E0DF91CF911F91A1 +:101750000F910C941A18EF92FF920F931F93CF934F +:10176000DF93EC01F62EE42EB9018EE394E00E94A3 +:101770001A18EF1460F0FE01EF0DF11D4AE050E081 +:1017800062858EE394E00E943919F394F2CFB80198 +:101790008EE394E00E941A1880E0DF91CF911F91B0 +:1017A0000F91FF90EF90089570E0FC0126A1332780 +:1017B00027FD30956217730751F027A1332727FDC6 +:1017C000309581E06217730719F080E0089581E099 +:1017D000089570E0FC0120A5332727FD309562179E +:1017E000730751F021A5332727FD309581E062175B +:1017F000730719F080E0089581E008959F92AF92F9 +:10180000BF92CF92DF92EF92FF920F931F93CF93ED +:10181000DF9300D01F92CDB7DEB78C017B0120E3B0 +:1018200030E340E029833A834B83FC01668DF3E08B +:101830006F9FB0011124C7010E948319E114F104C4 +:1018400049F1912C83ECA82E81E0B82ECE010196AF +:101850006C01F801868D8915E8F0F80183A19816CE +:1018600020F4E90DF11D808101C08FEF1F928F934D +:10187000BF92AF92DF92CF920E94CA20B601C701F9 +:101880000E94BC1A93940F900F900F900F900F909E +:101890000F90DFCF0F900F900F90DF91CF911F919E +:1018A0000F91FF90EF90DF90CF90BF90AF909F90FF +:1018B00008950F931F93CF93DF938C01EB0160E2A8 +:1018C00070E0CE010E948319209709F468C068EC8B +:1018D00071E0CE010E94BC1AF80184A195A126A155 +:1018E000220F330B820F931FFC01E15EFE4F6081DC +:1018F0007181CE010E940B1B6BE3CE010E94CC1ABA +:101900006CEC71E0CE010E94BC1AF80184A195A193 +:1019100027A1220F330B820F931FFC01E15EFE4FC4 +:1019200060817181CE010E940B1B6BE3CE010E948E +:10193000CC1A60ED71E0CE010E94BC1AF80184A1BE +:1019400095A120A5220F330B820F931FFC01E15EAE +:10195000FE4F60817181CE010E940B1B6BE3CE01B3 +:101960000E94CC1A64ED71E0CE010E94BC1AF8010D +:1019700084A195A121A5220F330B820F931FFC0197 +:10198000E15EFE4F60817181CE010E940B1B6BE313 +:10199000CE01DF91CF911F910F910C94CC1ADF9162 +:1019A000CF911F910F9108950F931F93CF93DF93C2 +:1019B0008C01EB0167E070E0CE010E948319209753 +:1019C00099F068ED71E0CE010E94BC1AF80162A5A1 +:1019D00073A5CE010E940B1B6BE3CE01DF91CF916B +:1019E0001F910F910C94CC1ADF91CF911F910F9101 +:1019F00008954F925F926F927F928F929F92AF92D3 +:101A0000BF92CF92DF92EF92FF920F931F93CF93EB +:101A1000DF93EC010CA11DA1580185EDA81A8EEFF2 +:101A2000B80AF5018081843008F4C4C06801F8EF79 +:101A3000CF1AFEEFDF0AF601608170E080E090E0EF +:101A40000E947E1C2AE037ED43E25DE30E94321DD6 +:101A50000E94501C40E050E0912C812CEE24EA942E +:101A6000FE2C262F30E0F5018081481708F06BC06E +:101A7000642F70E0F801E60FF71FE4818E2F99279D +:101A800087FD9095821793070CF45BC0660F771F54 +:101A9000600F711FDB01A15EBE4F6D917C91161628 +:101AA00017064CF55E0F8394E60EF71EEFA1EF3F8D +:101AB00069F08E2F880F990B800F911FDC01A15EBA +:101AC000BE4F8D919C91861797070CF4E42FEFA3DE +:101AD000E9A5EF3F69F08E2F880F990B800F911FBA +:101AE000DC01A15EBE4F8D919C91681779070CF4C3 +:101AF000E42FE9A726C05E1B9394EEA1EF3F69F0A7 +:101B00008E2F880F990B800F911FDC01A15EBE4FB5 +:101B10008D919C91681779070CF4E42FEEA3E8A54A +:101B2000EF3F69F08E2F880F990B800F911FDC011A +:101B3000A15EBE4F8D919C91861797070CF4E42F00 +:101B4000E8A74F5F90CF652F70E080E090E00E94A3 +:101B50007E1C2B013C01F601608170E080E090E08A +:101B60000E947E1C2AE037ED43EA5CE30E94321DAE +:101B70009B01AC01C301B2010E942E1D1816D4F0C6 +:101B8000981018C0C70163E070E00E94B51D7BA7E4 +:101B90006AA79EA19F3F71F088A58F3F59F09817C3 +:101BA00049F02FA12F3F31F099A59F3F19F081E017 +:101BB000291301C080E0DF91CF911F910F91FF9019 +:101BC000EF90DF90CF90BF90AF909F908F907F90DD +:101BD0006F905F904F900895FC0183A12E2FDF013D +:101BE0009A2F921B981710F41D92FACF168E178E0B +:101BF00087E082A3089524E1FC0124A70C94EC0D56 +:101C00007F928F929F92AF92BF92CF92DF92EF928C +:101C1000FF920F931F93CF93DF93EC018CA19DA1B3 +:101C2000FC01E45FFE4F108233971082812CBB24AD +:101C3000B39437E0A32E0CA11DA1F801E85FFE4F7D +:101C40008081881608F0A3C08DA5811110C0F8010D +:101C5000E80DF11DF2846F2DCE010E94D40B81118D +:101C6000DFC06F2DCE010E94E90B8111D9C0CDA438 +:101C70000CA11DA1CC2079F18EA581112CC0C80129 +:101C8000885F9E4F7C01F801E80DF11DD2846D2D17 +:101C9000CE010E94D40B811105C0F7018081881606 +:101CA00008F4C8C0282DF70180818816A0F4C80167 +:101CB0008D0D911D8D0D911DFC01E15EFE4F9180FA +:101CC000991C9924991CF801E75FFE4F8080281920 +:101CD00009F0ACC0BEA68EA5882309F456C0CC205E +:101CE00009F453C0E82CF12C6801CE0CDF1CF6017E +:101CF0007284672DCE010E94D40B882311F09B249F +:101D00001CC0672DCE010E94E90B782E882309F4B0 +:101D100093C0F801E85FFE4F208130E02150310987 +:101D2000E216F3060CF088C0F6016385CE010E942E +:101D3000E90B882309F480C083944E8D8BA148174A +:101D400020F55AA1852F90E0292D332727FD3095C6 +:101D5000052E01C0220F0A94EAF7FE01E40FF11DDF +:101D60003081322B30832F8D2F5F2F8F28A1821B44 +:101D7000910997FD03C0521B5AA307C0AAA24F5F47 +:101D80004E8FFE01E40FF11D1082839454CF881210 +:101D90003AC0D801A75FBE4F4C91423058F12F8D09 +:101DA00030E08CA587FD8F5F8595992787FD9095FD +:101DB0008217930744F5841A80828CA19DA1FC01AF +:101DC000E85FFE4F408150E04F5F5F4F319660818A +:101DD00070E0665F7F4F680F791F0A960E9430207F +:101DE0008CA19DA1FC01E45FFE4F21E02083BD9604 +:101DF000208314C0411107C0D801A75CBE4F81E009 +:101E00008C9310820BC04F8D50E02CA5332727FDFB +:101E1000309581E0421753070CF071C080E06FC02D +:101E2000F801E75FFE4F8082BDA621CF20FF52CF91 +:101E3000839450CF839427CF4F8D50E02CA5332728 +:101E400027FD309542175307CCF4772089F0F8012D +:101E5000E85FFE4F808190E00197E816F90644F4B0 +:101E6000F6016385CE010E94E90B882309F442C084 +:101E70001DA61EA6CE010E94EC0D5FCFF801E65F05 +:101E8000FE4F80828CA19DA1FC01E85FFE4FDC012A +:101E9000A65FBE4F20818C91281B20838CA19DA121 +:101EA000FC01E85FFE4F408150E04F5F5F4F32968C +:101EB000608170E0665F7F4F680F791F0A960E940D +:101EC00030200CA11DA1F801E45FFE4FFF24F39424 +:101ED000F08234978081F801E80FF11D6285CE0110 +:101EE0000E94E90B882309F48ECFF801E75CFE4FCE +:101EF000F08294CFF801E75FFE4F8080B9CFDF9189 +:101F0000CF911F910F91FF90EF90DF90CF90BF90F6 +:101F1000AF909F908F907F9008953F924F925F92E5 +:101F20006F927F928F929F92AF92BF92CF92DF92E9 +:101F3000EF92FF920F931F93CF93DF9300D000D0C7 +:101F400000D0CDB7DEB77C015C0187ECA81A8EEF1C +:101F5000B80AF5018081811105C0F197808188322E +:101F600008F4A5C2C7010E942E0940E060E0C70145 +:101F70000E940E09C7010E943F0AC7010E94EE0A93 +:101F8000F7018381882309F427C1EF5EFE4F80812A +:101F90009181029709F020C14701F7EF8F1AFEEFF8 +:101FA0009F0AF40160815701F6EFAF1AFEEFBF0AF6 +:101FB00082E0860FF50180838701085F1E4FF801DC +:101FC0007081872F90E00197D701A45DBE4FF50186 +:101FD000D0802D2D30E0281739070CF5F701E20FDE +:101FE000F31F438550E02C91332727FD309542178E +:101FF000530781F4428550E0F7012081332727FD04 +:1020000030954217530731F4DA94F501D082DD247C +:10201000D39406C0D394D394F501D082D8CFD12CD9 +:10202000F5018081781708F47083F5014081C701BC +:102030000E940E09DD2051F0F501808190E0F4014D +:102040002081821B9109889734F4C2C0F801408135 +:102050004E3F08F09EC06701F3EDCF1AFEEFDF0A96 +:1020600063E072E0C6010E94181A87010D5C1E4FE2 +:1020700063E072E0C8010E94181A62E0C6010E9483 +:10208000CC1A6BED71E0C6010E94BC1A6BE3C6016D +:102090000E94CC1A312C370185ED681A8EEF780A30 +:1020A000F3018081381640F5432C512CF701E40DE3 +:1020B000F51D84818823F1F060E5C6010E94CC1AE9 +:1020C000632DC6010E94DF1A69ED71E0C6010E940E +:1020D000BC1AC201880F991F8E0D9F1DFC01E15E85 +:1020E000FE4F60817181C6010E940B1B6BE3C6012C +:1020F0000E94CC1A3394D4CF6EED71E0C6010E94D9 +:10210000BC1A6BE3C8010E94CC1A61EE71E0C801F1 +:102110000E94BC1AF7016081772767FD7095C8019E +:102120000E940B1B6BE3C8010E94CC1A65EE71E0A4 +:10213000C8010E94BC1AF701E45DFE4F6081772759 +:1021400067FD7095C8010E940B1B6BE3C8010E94DC +:10215000CC1AF701E35FFE4F8081882349F069EED6 +:1021600071E0C8010E94BC1A6BE3C8010E94CC1A3E +:1021700063E0C8010E94CC1A6AE0C8010E94CC1A30 +:102180009601F5014081F4016081C7010E94AB0B0B +:102190003AC1F40160816230D8F0F501808190E0AD +:1021A0008D3F9105ACF0461BF801408350E04F5F36 +:1021B0005F4F70E0665F7F4F6E0D7F1DC7010A960F +:1021C0000E94302081E0F701E45FFE4F808324C14C +:1021D000C7010E94A70820C1F7018181811104C0B5 +:1021E0008281882309F414C1F701EF5EFE4F8081DC +:1021F0009181019709F00CC14701F8EF8F1AFEEFAA +:102200009F0AF4018081883208F402C16701F3ED6E +:10221000CF1AFEEFDF0A63E072E0C6010E94181ACF +:1022200087010D5C1E4F63E072E0C8010E94181A1E +:1022300062E0C6010E94CC1AF7018281882309F46A +:1022400064C080912D04811143C08EE180932004ED +:1022500081E080931D0410921E048DEF93E00E9494 +:10226000EC0D20911D0487E090E0821B9109709194 +:102270001E0467E041E050E0262F30E0821793070C +:102280004CF49A01062E01C0220F0A94EAF7722B31 +:102290006150F2CF70931E048FEF809323048093DC +:1022A0002404809325048093260410922A0410921B +:1022B0002B04F0922204E09221048DEF93E00E941F +:1022C000FB0D81E080932D0486EA98E00E94A6171A +:1022D000F5018081811107C08DEF93E00E94FB0D15 +:1022E00081E180932904F5018081882339F08DEF05 +:1022F00093E00E94000E811199C085C08DEF93E09C +:102300000E94F90C8111F3CF7EC0F70181818823EF +:1023100009F479C06BEE71E0C6010E94BC1A6BE350 +:10232000C6010E94CC1A512C5701F5EDAF1AFEEFF1 +:10233000BF0AF5018081581648F5652C712CF7010C +:10234000E60DF71D84818823F9F06CEB71E0C6017E +:102350000E94BC1A652DC6010E94DF1A69ED71E06A +:10236000C6010E94BC1AC301880F991F8E0D9F1DC4 +:10237000FC01E15EFE4F60817181C6010E940B1B72 +:102380006BE3C6010E94CC1A5394D3CF6EED71E07B +:10239000C6010E94BC1A6BE3C8010E94CC1A61EE10 +:1023A00071E0C8010E94BC1AF7016081772767FDC0 +:1023B0007095C8010E940B1B6BE3C8010E94CC1AE8 +:1023C000F701E35FFE4F8081882349F069EE71E0F9 +:1023D000C8010E94BC1A6BE3C8010E94CC1A63E0DA +:1023E000C8010E94CC1A6AE0C8010E94CC1AF4010C +:1023F00040814150960160E0C7010E94AB0BF7019C +:10240000E45FFE4F108281E0F701E55FFE4FDECE14 +:10241000F701E55FFE4F1082F701E45FFE4F808118 +:10242000811145C0C7010E94A70841C063E072E066 +:10243000CE0101960E94C0196EED71E0CE010196A9 +:102440000E94181ABE016F5F7F4F8DEF93E00E94CC +:10245000FE0B6EEE71E0C6010E94BC1A6BE3C60172 +:102460000E94CC1AB6018DEF93E00E94590C6BE3E9 +:10247000C8010E94CC1AB8018DEF93E00E94D40CE1 +:1024800063E0C8010E94CC1A6AE0C8010E94CC1A1D +:102490009801AE014F5F5F4FB601C7010E94930BD9 +:1024A000F5011082CE0101960E945219ACCF2696FA +:1024B0000FB6F894DEBF0FBECDBFDF91CF911F9155 +:1024C0000F91FF90EF90DF90CF90BF90AF909F90D3 +:1024D0008F907F906F905F904F903F9008958F9274 +:1024E0009F92AF92BF92CF92DF92EF92FF920F93A3 +:1024F0001F93CF93DF931F92CDB7DEB74C018C01B2 +:10250000085F1E4FD8018C9190E08D3F910544F0FB +:1025100081E0F401E35FFE4F8083C4010E948D0FD0 +:10252000F401E05FFE4F10826401B9EECB1ABEEFFA +:10253000DB0AD601ED91FC91119780819181129671 +:102540000D90BC91A02D2D913C91D8014C915091B2 +:102550002C047401B5EDEB1ABEEFFB0AD7016C91A8 +:10256000651708F45C93442361F082279327B92E02 +:10257000BB1CBB24BB1C81E04D3F09F480E0B822AA +:1025800005C0D7011C9210922C04B12C608171817E +:10259000C40149830E94E808A82E498187FD2CC008 +:1025A000F401E40FF11D8287423030F081858A11F9 +:1025B00003C0C4010E94A7088A2D880F990B880DBB +:1025C000991DFC01E15EFE4FD6018D919C91208109 +:1025D0003181DC018D919C91280F391F37FF02C09A +:1025E0002F5F3F4F3595279531832083F8018081F8 +:1025F0008F5F808320E012C040E060E0C4010E9451 +:102600000E09D7018C91863041F480912C04F4019D +:10261000E80FF11D8481823024F421E0B1101DC047 +:1026200001C020E0F8018081A401455F5E4F5A019E +:10263000883248F081E0DA018C93C4010E948D0F4A +:1026400010922C046AC0C40129830E94A708F501D6 +:10265000108210922C0429810BC0D8018C918832F1 +:1026600038F083E090E0F401EF5EFE4F91838083C9 +:10267000222309F452C0F801408150912C0480E0DB +:1026800090E0242F30E0F9013197280D391DBF016A +:10269000680F791F6F3FAFEF7A07E1F00197D9011B +:1026A000A80FB91F1A96AC91A513F1CFCB010196D3 +:1026B000481BD8014C9350E04F5F5F4F655F7F4FE1 +:1026C000680D791DC4010A960E943020F8018081AE +:1026D0008F5F808340912C04D601ED91FC91208185 +:1026E0003181C401840F911D840F911DFC01E15EB5 +:1026F000FE4F31832083F8018081F401E80FF11D42 +:1027000042878F5FD8018C934F5F40932C044630F3 +:1027100021F410922C04F70140830F90DF91CF91A8 +:102720001F910F91FF90EF90DF90CF90BF90AF90EF +:102730009F908F900895CF93DF93EC01C55FDE4F9C +:102740001882FC01E75EFE4F0190F081E02D2081B0 +:102750003181DC01A95EBE4F0D90BC91A02D2D935F +:102760003C93DB012D913C91318320830E946F12B9 +:102770008881DF91CF91089508958230E8F4E82FA1 +:10278000F0E0EE0FFF1FE75FFE4F71836083813043 +:1027900041F0809169008C7F842B80936900E89AD6 +:1027A000089580916900440F551F440F551F837F82 +:1027B000842B80936900E99A0895823078F48130FF +:1027C00011F0E89801C0E998E82FF0E0EE0FFF1F44 +:1027D000E75FFE4F8CEB93E19183808308951F9216 +:1027E0000F920FB60F9211242F933F934F935F9345 +:1027F0006F937F938F939F93AF93BF93EF93FF93C9 +:10280000E0910901F0910A010995FF91EF91BF91C3 +:10281000AF919F918F917F916F915F914F913F9178 +:102820002F910F900FBE0F901F9018951F920F922F +:102830000FB60F9211242F933F934F935F936F9393 +:102840007F938F939F93AF93BF93EF93FF93E09109 +:102850000B01F0910C010995FF91EF91BF91AF91A0 +:102860009F918F917F916F915F914F913F912F91A8 +:102870000F900FBE0F901F9018951F920F920FB6DA +:102880000F9211242F933F938F939F93AF93BF93F6 +:102890008091360490913704A0913804B0913904A6 +:1028A0003091350423E0230F2D3720F40196A11D2C +:1028B000B11D05C026E8230F0296A11DB11D20936E +:1028C00035048093360490933704A0933804B09372 +:1028D000390480913A0490913B04A0913C04B0915A +:1028E0003D040196A11DB11D80933A0490933B04D1 +:1028F000A0933C04B0933D04BF91AF919F918F9101 +:102900003F912F910F900FBE0F901F9018952FB7EA +:10291000F894609136047091370480913804909156 +:1029200039042FBF08953FB7F89480913A049091ED +:102930003B04A0913C04B0913D0426B5A89B05C082 +:102940002F3F19F00196A11DB11D3FBF6627782FBB +:10295000892F9A2F620F711D811D911D42E0660F14 +:10296000771F881F991F4A95D1F70895CF92DF925C +:10297000EF92FF92CF93DF936B017C010E9493143F +:10298000EB01C114D104E104F10489F00E94E51BBC +:102990000E9493146C1B7D0B683E734090F381E0A2 +:1029A000C81AD108E108F108C851DC4FEACFDF911D +:1029B000CF91FF90EF90DF90CF90089582309105F6 +:1029C00038F0880F991F880F991F05970197F1F725 +:1029D0000895789484B5826084BD84B5816084BD97 +:1029E00085B5826085BD85B5816085BDEEE6F0E088 +:1029F000808181608083E1E8F0E0108280818260E4 +:102A00008083808181608083E0E8F0E08081816064 +:102A10008083E1EBF0E0808184608083E0EBF0E094 +:102A2000808181608083EAE7F0E080818460808338 +:102A300080818260808380818160808380818068E2 +:102A400080831092C1000895833081F028F4813092 +:102A500099F08230A1F008958730A9F08830B9F05C +:102A60008430D1F4809180008F7D03C080918000FC +:102A70008F7780938000089584B58F7702C084B5E6 +:102A80008F7D84BD08958091B0008F7703C08091C1 +:102A9000B0008F7D8093B0000895CF93DF9390E0D6 +:102AA000FC01E555FF4F2491FC01E154FF4F849157 +:102AB000882349F190E0880F991FFC01E352FF4FF2 +:102AC000A591B4918D529F4FFC01C591D4919FB7B0 +:102AD000611108C0F8948C91209582238C93888191 +:102AE00082230AC0623051F4F8948C91322F3095D1 +:102AF00083238C938881822B888304C0F8948C91E3 +:102B0000822B8C939FBFDF91CF9108950F931F93DA +:102B1000CF93DF931F92CDB7DEB7282F30E0F901B6 +:102B2000E956FF4F8491F901E555FF4F1491F901E2 +:102B3000E154FF4F04910023C9F0882321F06983F9 +:102B40000E9424156981E02FF0E0EE0FFF1FED5287 +:102B5000FF4FA591B4919FB7F8948C91611103C078 +:102B60001095812301C0812B8C939FBF0F90DF9123 +:102B7000CF911F910F910895FC01818D228D90E0DE +:102B8000805C9F4F821B91098F7399270895FC01E8 +:102B9000918D828D981731F0828DE80FF11D858D12 +:102BA00090E008958FEF9FEF0895FC01918D828D45 +:102BB000981761F0828DDF01A80FB11D5D968C9191 +:102BC000928D9F5F9F73928F90E008958FEF9FEF9C +:102BD000089589E597E1892B49F08EE598E0892BE6 +:102BE00029F00E94591781110C945E080895FC0188 +:102BF000848DDF01A80FB11DA35ABF4F2C91848D86 +:102C000090E001968F739927848FA689B7892C93BA +:102C1000A089B1898C9180648C93938D848D981355 +:102C200006C00288F389E02D80818F7D808308951E +:102C3000CF93DF93EC01888D8823C9F0EA89FB8963 +:102C4000808185FD05C0A889B9898C9186FD0FC05A +:102C50000FB607FCF5CF808185FFF2CFA889B9892F +:102C60008C9185FFEDCFCE010E94F715E7CFDF9164 +:102C7000CF910895CF92DF92FF920F931F93CF933E +:102C8000DF931F92CDB7DEB76C0181E0D601589675 +:102C90008C9358975B969C915B975C968C915C9714 +:102CA000981307C05096ED91FC915197808185FD56 +:102CB0002EC0F601038D10E00F5F1F4F0F73112719 +:102CC000F02EF601848DF81211C00FB607FCF9CF73 +:102CD000D6015096ED91FC915197808185FFF1CFFF +:102CE000C60169830E94F7156981EBCF838DE80FD8 +:102CF000F11DE35AFF4F6083D6015B960C935B97FF +:102D00005296ED91FC915397808180620CC0D60160 +:102D10005696ED91FC91579760835096ED91FC91FA +:102D2000519780818064808381E090E00F90DF91F3 +:102D3000CF911F910F91FF90DF90CF900895BF9298 +:102D4000CF92DF92EF92FF92CF93DF93EC016A0173 +:102D50007B01B22EE889F98982E08083411581EEFA +:102D6000580761057105A1F060E079E08DE390E01E +:102D7000A70196010E94C91D21503109410951093D +:102D80005695479537952795211580E1380798F096 +:102D9000E889F989108260E874E88EE190E0A70183 +:102DA00096010E94C91D21503109410951095695CA +:102DB000479537952795EC85FD853083EE85FF8512 +:102DC0002083188EEC89FD89B082EA89FB89808195 +:102DD00080618083EA89FB89808188608083EA89B9 +:102DE000FB89808180688083EA89FB8980818F7D6F +:102DF0008083DF91CF91FF90EF90DF90CF90BF90D5 +:102E000008951F920F920FB60F9211242F938F9354 +:102E10009F93EF93FF93E0914E04F0914F048081D4 +:102E2000E0915404F091550482FD12C0908180918C +:102E300057048F5F8F7320915804821751F0E091EF +:102E40005704F0E0E25CFB4F958F8093570401C07C +:102E50008081FF91EF919F918F912F910F900FBEE5 +:102E60000F901F9018951F920F920FB60F9211247A +:102E70002F933F934F935F936F937F938F939F9382 +:102E8000AF93BF93EF93FF938EE394E00E94F71507 +:102E9000FF91EF91BF91AF919F918F917F916F9132 +:102EA0005F914F913F912F910F900FBE0F901F9008 +:102EB00018958EE394E00E94BC1521E0892B09F45B +:102EC00020E0822F0895109241041092400488EE71 +:102ED00093E0A0E0B0E08093420490934304A09379 +:102EE0004404B093450485EF91E090933F048093B0 +:102EF0003E0485EC90E090934B0480934A0484EC6C +:102F000090E090934D0480934C0480EC90E090937B +:102F10004F0480934E0481EC90E090935104809391 +:102F2000500482EC90E0909353048093520486EC1A +:102F300090E090935504809354041092570410929B +:102F400058041092590410925A04089580E090E0B9 +:102F5000089508950E94E9140E94A9170E94C507C8 +:102F6000C9EED5E10E9456072097E1F30E94E915CA +:102F7000F9CFCF92DF92EF92FF920F931F93CF93EF +:102F8000DF937C016A01EB0100E010E00C151D05E8 +:102F900071F06991D701ED91FC910190F081E02DE4 +:102FA000C7010995892B19F00F5F1F4FEFCFC8019B +:102FB000DF91CF911F910F91FF90EF90DF90CF9015 +:102FC00008956115710581F0DB010D900020E9F78E +:102FD000AD0141505109461B570BDC01ED91FC91AD +:102FE0000280F381E02D099480E090E00895EF9253 +:102FF000FF920F931F93CF93DF938C017B01C0E06F +:10300000D0E0F701EC0FFD1F6491662359F0F80141 +:10301000A081B181ED91FC91C8010995892B11F036 +:103020002196EFCFCE01DF91CF911F910F91FF90AD +:10303000EF900895DC01ED91FC91DB0114964D9128 +:103040005C9115976D917C910280F381E02D09943C +:10305000DC01ED91FC910190F081E02D099461E09B +:1030600072E00C94E1170F931F93CF93DF93EC0161 +:103070000E94F7178C01CE010E942F18800F911F1C +:10308000DF91CF911F910F9108950F931F93CF93CD +:10309000DF93EC010E941A188C01CE010E942F18B8 +:1030A000800F911FDF91CF911F910F9108950F9382 +:1030B0001F93CF93DF93EC010E94E1178C01CE01A7 +:1030C0000E942F18800F911FDF91CF911F910F91B8 +:1030D00008958F929F92AF92BF92CF92DF92EF921C +:1030E000FF920F931F93CF93DF93CDB7DEB7A197D6 +:1030F0000FB6F894DEBF0FBECDBF7C01C42EE52F06 +:10310000CB01D22E19A221E02D1510F02AE0D22EEB +:103110008E010F5D1F4F8D2C912CA12CB12C6C2D8D +:103120007E2FA50194010E94C91D8C2DD29E80196D +:103130001124015011098A3014F4805D01C0895CAA +:10314000F8018083211531054105510521F0C22E7A +:10315000E32FCA01E4CFB801C7010E94E117A1968D +:103160000FB6F894DEBF0FBECDBFDF91CF911F9198 +:103170000F91FF90EF90DF90CF90BF90AF909F9016 +:103180008F900895CF92DF92EF92FF920F931F934B +:10319000CF93DF93EC016A017B012115310579F4AE +:1031A000E881F9810190F081E02D642FDF91CF91CA +:1031B0001F910F91FF90EF90DF90CF9009942A30EC +:1031C0003105E9F477FF1AC06DE20E9428188C01DE +:1031D00044275527BA014C195D096E097F092AE079 +:1031E000CE010E946918800F911FDF91CF911F912E +:1031F0000F91FF90EF90DF90CF9008952AE0B701F4 +:10320000A601CE01DF91CF911F910F91FF90EF901A +:10321000DF90CF900C9469189A01AB01662757FD97 +:103220006095762F0C94C2180F931F93CF93DF9362 +:10323000EC019A01AB01662757FD6095762F0E943D +:10324000C2188C01CE010E942F18800F911FDF91B0 +:10325000CF911F910F9108952115310541F4DC01A3 +:10326000ED91FC910190F081E02D642F09940C9474 +:1032700069189A01462F50E060E070E00C942C1918 +:103280000F931F93CF93DF93EC010E942C198C01B5 +:10329000CE010E942F18800F911FDF91CF911F91B7 +:1032A0000F910895FC01808191810C94891ECF9328 +:1032B000DF93EC0188819981009711F00E94891EAB +:1032C000198218821D821C821B821A82DF91CF9183 +:1032D00008950F931F93CF93DF93EC018B016F5FE2 +:1032E0007F4F888199810E94181F009731F0998340 +:1032F00088831B830A8381E001C080E0DF91CF9146 +:103300001F910F910895CF93DF93EC0188819981EC +:10331000892B29F08A819B818617970760F4CE015B +:103320000E946919882341F08C819D81892B19F4B1 +:10333000E881F981108281E0DF91CF910895EF92C9 +:10334000FF920F931F93CF93DF93EC017B018A01D0 +:10335000BA010E948319811104C0CE010E9457193D +:1033600007C01D830C83B701888199810E94422088 +:10337000CE01DF91CF911F910F91FF90EF900895B3 +:10338000FC0111821082138212821582148261154F +:10339000710559F0FB0101900020E9F7AF014150A0 +:1033A0005109461B570B0C949F1908950F931F93B7 +:1033B000CF93DF938C01EB01FC0180819181009719 +:1033C00099F0428153812C813D814217530750F07F +:1033D000688179810E9442208C819D81F8019583CA +:1033E000848313C00E94891E88819981F80191838A +:1033F00080838A819B81938382838C819D81958345 +:103400008483198218821B821A821D821C82DF919A +:10341000CF911F910F910895CF93DF93EC01861701 +:10342000970711F00E94D619CE01DF91CF91089530 +:10343000CF93DF93EC016115710561F0FB01019001 +:103440000020E9F7AF0141505109461B570B0E947C +:103450009F1902C00E945719CE01DF91CF910895A4 +:103460000F931F93CF93DF93CDB7DEB729970FB696 +:10347000F894DEBF0FBECDBF8C01862FF8011182FC +:103480001082138212821582148250E0BE016F5F97 +:103490007F4F90E00E94A520BE016F5F7F4FC80163 +:1034A0000E94181A29960FB6F894DEBF0FBECDBF42 +:1034B000DF91CF911F910F9108950F931F93CF9399 +:1034C000DF93CDB7DEB762970FB6F894DEBF0FBEBD +:1034D000CDBF8C01CB01F8011182108213821282C0 +:1034E0001582148250E0BE016F5F7F4F0E947220F0 +:1034F000BE016F5F7F4FC8010E94181A62960FB617 +:10350000F894DEBF0FBECDBFDF91CF911F910F9119 +:103510000895EF92FF920F931F93CF93DF93EC01E7 +:103520007B010C811D816115710511F480E016C0CD +:103530004115510591F0040F151FB8010E94831920 +:103540008823A1F3288139818C819D81B701820F65 +:10355000931F0E9442201D830C8381E0DF91CF9155 +:103560001F910F91FF90EF900895FB0144815581C9 +:10357000608171810C94891A6115710559F0FB0104 +:1035800001900020E9F7AF0141505109461B570B4C +:103590000C94891A80E00895CF93DF9300D0CDB7C3 +:1035A000DEB769831A8241E050E0BE016F5F7F4F52 +:1035B0000E94891A0F900F90DF91CF910895EF929A +:1035C000FF920F931F93CF93DF9300D000D0CDB71E +:1035D000DEB77C01862F4AE08E010F5F1F4FB801D6 +:1035E00090E00E947D20F80101900020E9F7AF01F2 +:1035F00041505109401B510BB801C7010E94891A63 +:103600000F900F900F900F90DF91CF911F910F911E +:10361000FF90EF900895EF92FF920F931F93CF9337 +:10362000DF93CDB7DEB728970FB6F894DEBF0FBE95 +:10363000CDBF7C01CB014AE08E010F5F1F4FB80167 +:103640000E947D20F80101900020E9F7AF01415070 +:103650005109401B510BB801C7010E94891A2896D5 +:103660000FB6F894DEBF0FBECDBFDF91CF911F9193 +:103670000F91FF90EF900895FC012481358162172E +:10368000730748F480819181009729F0FC01E60FCF +:10369000F71F8081089580E008950C943C1B0F93E0 +:1036A0001F93CF93DF93EB0141155105E9F020976C +:1036B000D9F0FC016481758126173707A0F4621BDD +:1036C000730B8A01015011096017710708F48B010F +:1036D000FC0160817181620F731FA801CE010E94FD +:1036E0004920C00FD11F1882DF91CF911F910F91F8 +:1036F0000895CF93DF93FC01848195814817590782 +:1037000078F4C081D181FB0160817181CE01840F89 +:10371000951F0E945820009719F08C1B9D0B02C02A +:103720008FEF9FEFDF91CF910895BF92CF92DF92FD +:10373000EF92FF920F931F93CF93DF936C017B0166 +:10374000EA0189012417350720F48D2FE901042FA0 +:10375000182F63E072E0C6010E94C019D7011496C9 +:103760008D919C911597C817D907C8F480179107B8 +:1037700008F48C01D701ED91FC911197E00FF11F36 +:10378000B08010826D917C916C0F7D1FC6010E94EC +:10379000181AD701ED91FC91E00FF11FB082C6011C +:1037A000DF91CF911F910F91FF90EF90DF90CF901D +:1037B000BF900895FC0180819181009711F00C94D5 +:1037C000002060E070E0CB01089508955058BB27B9 +:1037D000AA270ED009C1FAD030F0FFD020F031F482 +:1037E0009F3F11F41EF4EFC00EF4E095E7FBE5C037 +:1037F000E92F0BD180F3BA17620773078407950787 +:1038000018F071F49EF523C10EF4E0950B2EBA2F3B +:10381000A02D0B01B90190010C01CA01A0011124D6 +:10382000FF27591B99F0593F50F4503E68F11A1682 +:10383000F040A22F232F342F4427585FF3CF469513 +:1038400037952795A795F0405395C9F77EF41F1635 +:10385000BA0B620B730B840BBAF09150A1F0FF0FFF +:10386000BB1F661F771F881FC2F70EC0BA0F621FEB +:10387000731F841F48F4879577956795B795F795DB +:103880009E3F08F0B3CF9395880F08F09927EE0F6D +:1038900097958795089504D06894B111D9C008957B +:1038A000BCD088F09F5790F0B92F9927B751A0F05E +:1038B000D1F0660F771F881F991F1AF0BA95C9F7C4 +:1038C00012C0B13081F0C3D0B1E00895C0C0672FFD +:1038D000782F8827B85F39F0B93FCCF38695779574 +:1038E0006795B395D9F73EF490958095709561955D +:1038F0007F4F8F4F9F4F0895E89409C097FB3EF488 +:1039000090958095709561957F4F8F4F9F4F99232C +:10391000A9F0F92F96E9BB279395F69587957795AA +:103920006795B795F111F8CFFAF4BB0F11F460FF6A +:103930001BC06F5F7F4F8F4F9F4F16C0882311F0C2 +:1039400096E911C0772321F09EE8872F762F05C0D6 +:10395000662371F096E8862F70E060E02AF09A9571 +:10396000660F771F881FDAF7880F9695879597F966 +:103970000895990F0008550FAA0BE0E8FEEF161600 +:103980001706E807F907C0F012161306E407F50753 +:1039900098F0621B730B840B950B39F40A2661F0C7 +:1039A000232B242B252B21F408950A2609F4A1406A +:1039B000A6958FEF811D811D089597F99F6780E877 +:1039C00070E060E008959FEF80EC089500240A9471 +:1039D0001616170618060906089500240A941216EA +:1039E0001306140605060895092E0394000C11F41D +:1039F000882352F0BB0F40F4BF2B11F460FF04C0CA +:103A00006F5F7F4F8F4F9F4F089557FD9058440F22 +:103A1000551F59F05F3F71F04795880F97FB991F2D +:103A200061F09F3F79F087950895121613061406EA +:103A3000551FF2CF4695F1DF08C016161706180677 +:103A4000991FF1CF86957105610508940895E89452 +:103A5000BB2766277727CB0197F908958ADF08F4FB +:103A60008FEF08950BD0C0CFB1DF28F0B6DF18F08C +:103A7000952309F0A2CFA7CF1124EACFC6DFA0F388 +:103A8000959FD1F3950F50E0551F629FF001729FF3 +:103A9000BB27F00DB11D639FAA27F00DB11DAA1F12 +:103AA000649F6627B00DA11D661F829F2227B00D5F +:103AB000A11D621F739FB00DA11D621F839FA00DEA +:103AC000611D221F749F3327A00D611D231F849F3A +:103AD000600D211D822F762F6A2F11249F57504091 +:103AE0008AF0E1F088234AF0EE0FFF1FBB1F661F2C +:103AF000771F881F91505040A9F79E3F510570F0E5 +:103B00005CCFA6CF5F3FECF3983EDCF386957795CC +:103B10006795B795F795E7959F5FC1F7FE2B880FDF +:103B2000911D9695879597F90895991B79E004C0A2 +:103B3000991F961708F0961B881F7A95C9F78095EC +:103B40000895AA1BBB1B51E107C0AA1FBB1FA617E4 +:103B5000B70710F0A61BB70B881F991F5A95A9F736 +:103B600080959095BC01CD01089597FB072E16F422 +:103B7000009407D077FD09D00E94A11D07FC05D055 +:103B80003EF4909581959F4F0895709561957F4F74 +:103B90000895A1E21A2EAA1BBB1BFD010DC0AA1F8E +:103BA000BB1FEE1FFF1FA217B307E407F50720F0A6 +:103BB000A21BB30BE40BF50B661F771F881F991F21 +:103BC0001A9469F760957095809590959B01AC016A +:103BD000BD01CF010895EE0FFF1F0590F491E02D78 +:103BE0000994CF93DF938230910510F482E090E046 +:103BF000E091DD04F091DE0420E030E0A0E0B0E0F0 +:103C0000309739F14081518148175907B8F048176A +:103C1000590771F482819381109729F013969C9330 +:103C20008E9312972CC09093DE048093DD0427C0FE +:103C30002115310531F04217530718F0A901DB01B6 +:103C400001C0EF019A01BD01DF010280F381E02D87 +:103C5000D7CF21153105F9F0281B390B2430310558 +:103C600080F48A819B816115710521F0FB019383AA +:103C7000828304C09093DE048093DD04FE013296BB +:103C800044C0FE01E20FF31F81939193225031094A +:103C9000398328833AC02091DB043091DC04232B44 +:103CA00041F420910201309103013093DC04209310 +:103CB000DB0420910001309101012115310541F40F +:103CC0002DB73EB74091040150910501241B350BDF +:103CD000E091DB04F091DC04E217F307A0F42E1B63 +:103CE0003F0B2817390778F0AC014E5F5F4F241760 +:103CF000350748F04E0F5F1F5093DC044093DB0400 +:103D00008193919302C0E0E0F0E0CF01DF91CF9189 +:103D10000895CF93DF93009709F487C0FC01329791 +:103D200013821282C091DD04D091DE04209781F4C9 +:103D300020813181280F391F8091DB049091DC04B0 +:103D40008217930779F5F093DC04E093DB046DC0F0 +:103D5000DE0120E030E0AE17BF0750F412964D911F +:103D60005C9113979D014115510509F1DA01F3CFDB +:103D7000B383A28340815181840F951F8A179B07CB +:103D800071F48D919C911197840F951F02969183E8 +:103D9000808312968D919C91139793838283211532 +:103DA000310529F4F093DE04E093DD043EC0D9012F +:103DB0001396FC93EE9312974D915D91A40FB51F4E +:103DC000EA17FB0779F480819181840F951F029691 +:103DD000D90111969C938E938281938113969C9323 +:103DE0008E931297E0E0F0E08A819B81009719F0B2 +:103DF000FE01EC01F9CFCE01029628813981820FB4 +:103E0000931F2091DB043091DC042817390769F4F3 +:103E1000309729F41092DE041092DD0402C0138260 +:103E20001282D093DC04C093DB04DF91CF9108951C +:103E3000A0E0B0E0EEE1FFE10C948E23EC01CB01B9 +:103E4000209719F40E94F11DB8C0FE01E60FF71F7C +:103E50009E0122503109E217F30708F4ACC0D901E2 +:103E60000D911C91119706171707B8F00530110531 +:103E700008F49FC0A801445051094617570708F499 +:103E800098C002501109061B170B019311936D93F3 +:103E90007C93CF010E94891E8CC05B01A01AB10ADD +:103EA0004E01800E911EA091DD04B091DE04612CC4 +:103EB000712C60E070E0109709F449C0A815B905AD +:103EC000C9F5ED90FC901197670142E0C40ED11C3A +:103ED000CA14DB0478F147018A189B08640142E0A8 +:103EE000C40ED11C1296BC9012971396AC91B5E0FB +:103EF000CB16D10440F0B282A38391828082D90193 +:103F00008D939C9309C00E5F1F4F0E0D1F1DF9016D +:103F100011830083EB2DFA2F6115710531F0DB0160 +:103F20001396FC93EE93129744C0F093DE04E09353 +:103F3000DD043FC06D917C9111976616770608F4F9 +:103F40003B01BD0112960D90BC91A02DB4CF6091A4 +:103F5000DB047091DC0468157905E9F468167906CC +:103F6000D0F440910001509101014115510541F4F7 +:103F70004DB75EB76091040170910501461B570B68 +:103F8000E417F507C0F4F093DC04E093DB04F901D7 +:103F9000918380830EC00E94F11D7C01009759F02F +:103FA000A801BE010E942720CE010E94891EC701E0 +:103FB00004C0CE0102C080E090E0CDB7DEB7EEE0F5 +:103FC0000C94AA23FC0188279927E8942191203298 +:103FD000E9F3293010F02E30C8F32B3241F02D32A6 +:103FE00039F4689404C00E949D20820F911D219194 +:103FF00020532A30C0F31EF4909581959F4F089569 +:104000001F93FC0199278827BC01E8941191103275 +:10401000E9F3193010F01E30C8F31B3251F01D3295 +:1040200049F4689406C00E948820610F711D811DAB +:10403000911D119110531A30B0F33EF49095809574 +:10404000709561957F4F8F4F9F4F1F910895FB0192 +:10405000DC0102C001900D9241505040D8F7089504 +:104060006817790768F4FB01DC01E40FF51FA40F62 +:10407000B51F02C002900E9241505040D8F70895EB +:104080000C942720FB01DC0101900D920020E1F748 +:104090000895FB01DC014150504048F001900D9221 +:1040A0000020C9F701C01D9241505040E0F708952B +:1040B000FB0151915523A9F0BF01DC014D9145173A +:1040C0004111E1F759F4CD010190002049F04D91E3 +:1040D00040154111C9F3FB014111EFCF81E090E0A0 +:1040E000019708954532510520F4423010F00C94A8 +:1040F0007D20FB011082CB010895BB274A3031F4AB +:10410000992322F4BDE2909581959F4F0C94B120A4 +:10411000592F482F372F262F660F771F881F991F7B +:10412000660F771F881F991F620F731F841F951FCB +:10413000660F771F881F991F08957AE0979F902D2B +:10414000879F802D910D112408954532510520F44B +:10415000423010F00C94B020FB011082CB01089586 +:10416000BB27FB015527AA27880F991FAA1FA41751 +:1041700010F0A41B83955051B9F7A05DAA3308F045 +:10418000A95DA193009779F7B111B1931192CB0179 +:104190000C94EA22AEE0B0E0E0EDF0E20C9498235B +:1041A0000D891E8986E08C831A8309838FEF9FE730 +:1041B0009E838D83AE01475E5F4F6F89788DCE0100 +:1041C00001960E94EC20EF81F885E00FF11F10822C +:1041D0002E96E4E00C94B423ACE0B0E0E2EFF0E221 +:1041E0000C948A237C016B018A01FC0117821682E0 +:1041F000838181FFBDC1CE0101964C01F7019381FE +:10420000F60193FD859193FF81916F01882309F455 +:10421000ABC1853239F493FD859193FF81916F0194 +:10422000853229F4B70190E00E94FA22E7CF512CA1 +:10423000312C20E02032A0F48B3269F030F480324F +:1042400059F0833269F420612CC08D3239F080330B +:1042500039F4216026C02260246023C0286021C078 +:1042600027FD27C030ED380F3A3078F426FF06C01E +:10427000FAE05F9E300D1124532E13C08AE0389E61 +:10428000300D1124332E20620CC08E3221F426FD15 +:104290006BC1206406C08C3611F4206802C08836D9 +:1042A00041F4F60193FD859193FF81916F01811196 +:1042B000C1CF982F9F7D9554933028F40C5F1F4FEA +:1042C000FFE3F9830DC0833631F0833771F0833516 +:1042D00009F05BC022C0F801808189830E5F1F4F07 +:1042E00044244394512C540115C03801F2E06F0E60 +:1042F000711CF801A080B18026FF03C0652D70E01D +:1043000002C06FEF7FEFC5012C870E94DF222C01D6 +:1043100083012C852F77222E17C03801F2E06F0E13 +:10432000711CF801A080B18026FF03C0652D70E0EC +:1043300002C06FEF7FEFC5012C870E94D4222C01B1 +:104340002C852068222E830123FC1BC0832D90E046 +:1043500048165906B0F4B70180E290E00E94FA22B4 +:104360003A94F4CFF50127FC859127FE81915F01F6 +:10437000B70190E00E94FA2231103A94F1E04F1A0E +:1043800051084114510471F7E5C0843611F08936A3 +:1043900039F5F80127FF07C060817181828193811F +:1043A0000C5F1F4F08C060817181882777FD809561 +:1043B000982F0E5F1F4F2F76B22E97FF09C0909552 +:1043C0008095709561957F4F8F4F9F4F2068B22EDB +:1043D0002AE030E0A4010E942C23A82EA81844C093 +:1043E000853729F42F7EB22E2AE030E025C0F22F47 +:1043F000F97FBF2E8F36C1F018F4883579F0B4C03C +:10440000803719F0883721F0AFC02F2F2061B22EEE +:10441000B4FE0DC08B2D8460B82E09C024FF0AC0E5 +:104420009F2F9660B92E06C028E030E005C020E13D +:1044300030E002C020E132E0F801B7FE07C0608141 +:104440007181828193810C5F1F4F06C060817181F1 +:1044500080E090E00E5F1F4FA4010E942C23A82E45 +:10446000A818FB2DFF77BF2EB6FE0BC02B2D2E7F7D +:10447000A51450F4B4FE0AC0B2FC08C02B2D2E7E49 +:1044800005C07A2C2B2D03C07A2C01C0752C24FF7B +:104490000DC0FE01EA0DF11D8081803311F4297EEB +:1044A00009C022FF06C07394739404C0822F8678DB +:1044B00009F0739423FD13C020FF06C05A2C731417 +:1044C00018F4530C5718732C731468F4B70180E276 +:1044D00090E02C870E94FA2273942C85F5CF7314F8 +:1044E00010F4371801C0312C24FF12C0B70180E34B +:1044F00090E02C870E94FA222C8522FF17C021FF12 +:1045000003C088E590E002C088E790E0B7010CC0E6 +:10451000822F867859F021FD02C080E201C08BE233 +:1045200027FD8DE2B70190E00E94FA22A51438F42D +:10453000B70180E390E00E94FA225A94F7CFAA9440 +:10454000F401EA0DF11D8081B70190E00E94FA228A +:10455000A110F5CF332009F451CEB70180E290E0ED +:104560000E94FA223A94F6CFF7018681978102C021 +:104570008FEF9FEF2C96E2E10C94A623F999FECFE2 +:1045800092BD81BDF89A992780B50895262FF99993 +:10459000FECF1FBA92BD81BD20BD0FB6F894FA9A26 +:1045A000F99A0FBE01960895FC0105906150704084 +:1045B0000110D8F7809590958E0F9F1F0895FC01EC +:1045C0006150704001900110D8F7809590958E0F42 +:1045D0009F1F0895DC01FC01672F71917723E1F79C +:1045E000329704C07C916D9370836291AE17BF07C0 +:1045F000C8F308950F931F93CF93DF93182F092FBC +:10460000EB018B8181FD03C08FEF9FEF20C082FF04 +:1046100010C04E815F812C813D81421753077CF48D +:10462000E881F9819F012F5F3F4F398328831083F1 +:1046300006C0E885F985812F0995892B29F72E81F8 +:104640003F812F5F3F4F3F832E83812F902FDF913C +:10465000CF911F910F910895FA01AA27283051F1A7 +:10466000203181F1E8946F936E7F6E5F7F4F8F4FA3 +:104670009F4FAF4FB1E03ED0B4E03CD0670F781F02 +:10468000891F9A1FA11D680F791F8A1F911DA11DE7 +:104690006A0F711D811D911DA11D20D009F4689420 +:1046A0003F912AE0269F11243019305D3193DEF6C8 +:1046B000CF010895462F4770405D4193B3E00FD07E +:1046C000C9F7F6CF462F4F70405D4A3318F0495D69 +:1046D00031FD4052419302D0A9F7EACFB4E0A6954C +:1046E0009795879577956795BA95C9F7009761056E +:1046F000710508959B01AC010A2E069457954795C4 +:1047000037952795BA95C9F7620F731F841F951FB8 +:10471000A01D08952F923F924F925F926F927F92C9 +:104720008F929F92AF92BF92CF92DF92EF92FF92C1 +:104730000F931F93CF93DF93CDB7DEB7CA1BDB0B6D +:104740000FB6F894DEBF0FBECDBF09942A88398812 +:1047500048885F846E847D848C849B84AA84B98419 +:10476000C884DF80EE80FD800C811B81AA81B98125 +:10477000CE0FD11D0FB6F894DEBF0FBECDBFED0139 +:10478000089510E0CCEED0E004C0FE010E94ED1DC3 +:0C4790002296CE3ED107C9F7F894FFCF67 +:10479C000000DF0480002C0106BC13BC133B004955 +:1047AC0054506172616D733A20004F4B00562033A8 +:1047BC002E322E30205349474E414C6475696E6F32 +:1047CC00202D20636F6D70696C65642061742046C8 +:1047DC00656220323220323031362032313A303775 +:1047EC003A34330053796E633A2000202D3E205327 +:1047FC00796E63466163743A20002C20436C6F63BE +:10480C006B3A20002C20546F6C3A20002C20506105 +:10481C0074744C656E3A20002C2050756C73653A9C +:10482C0020002C20002C206D53746172743A2000EF +:10483C005369676E616C3A20002E2000205B005D8E +:10484C00005061747465726E3A20002050002A5B2F +:10485C00002C0025303258004C4C3D004C483D009B +:10486C00534C3D0053483D00433D004D5300443DE7 +:10487C000043503D0053503D004F004D55004D43FB +:10488C0000000000003A16B917BC15D515C715184D +:10489C00160D0A006E616E00696E66006F7666001A +:0248AC002E00DC :00000001FF diff --git a/fhem/MAINTAINER.txt b/fhem/MAINTAINER.txt index bbc908b14..56ba79207 100644 --- a/fhem/MAINTAINER.txt +++ b/fhem/MAINTAINER.txt @@ -81,6 +81,7 @@ FHEM/16_CUL_RFR.pm rudolfkoenig http://forum.fhem.de SlowRF FHEM/16_STACKABLE_CC.pm rudolfkoenig http://forum.fhem.de SlowRF FHEM/17_EGPM2LAN.pm alexus http://forum.fhem.de Sonstiges FHEM/14_SD_WS07.pm Sidey/Ralf9 http://forum.fhem.de Sonstige Systeme +FHEM/14_SD_WS09.pm Sidey/pejonp http://forum.fhem.de Sonstige Systeme FHEM/17_SIS_PMS.pm painseeker http://forum.fhem.de Sonstiges FHEM/18_CUL_HOERMANN.pm rudolfkoenig http://forum.fhem.de SlowRF FHEM/19_Revolt.pm martinppp/mehf http://forum.fhem.de SlowRF