Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iZXNj-00079B-ED for pgsql-hackers@arkaria.postgresql.org; Tue, 26 Nov 2019 09:43:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iZXNg-0007k1-SU for pgsql-hackers@arkaria.postgresql.org; Tue, 26 Nov 2019 09:43:36 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iZXNg-0007ju-DA for pgsql-hackers@lists.postgresql.org; Tue, 26 Nov 2019 09:43:36 +0000 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iZXNc-0004bd-Sz for pgsql-hackers@lists.postgresql.org; Tue, 26 Nov 2019 09:43:35 +0000 Received: by mail-wr1-x444.google.com with SMTP id w9so21654299wrr.0 for ; Tue, 26 Nov 2019 01:43:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=XTp9lqNX22ZiTytsyypIcdeMqvYONDWj2jkcD8SI0rI=; b=p/w4HTAe9jkWr4iW0hJkdAIKK4XErOMNP5WsXloB8a9gFOIO3L5wP57oPLOulfw3H5 S8K+jv892TXyoDE+XbtrvLwHnCwMKq9QRAlwKNFCfAMLpN36NN7KLe1xEyiuamrWLYXt W6bCYwXdgz3OTzrnRBIZZXcN6p1/cGQlkCUsfhOKOcwA04ZYsluH3/H5FpmvaBOWHAFZ QhEeCRy1tMIypgFCicITtRn6StNhmAdeskC4K1kSRqp1t+lQZXd+fMeE3+J1rzKc/TBI dKr/aBtxNpLf0hKHJLy72hXo4mCxUAstY/dnJCveP+FbmiYvllEM1XwBGgWuGRbMskcu P/QQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=XTp9lqNX22ZiTytsyypIcdeMqvYONDWj2jkcD8SI0rI=; b=ePgM2gCG3pJKVYPJ6QeExBtOKrISusw2YtvDg725oI54T8FN9ojWTw/kwyzEtKfKnw dBqyym2PanCjQdGA20HqU3aTMjZj8IMC7h+AP3Nx8YSLG18ylcD1nmhzgqZ3hRBg5/ay fzP7o1mX4icyTR67nDBWUoOGaajZQmperhAcVrXxfQxXQjIGBeMcEg7l4Ozth2taVOz8 wLWI2B0qaFkgPdcpbe7BnPYyVMLVlan/KEeTMhpGRfJYa+NvhRVyDQh735dJ1E2/72ny nI8Tv5aotRkkDkMenWcK7ZUFOFeqpNUH02eNzzkekn7KwVpa8mrq0zM+/9gytrLmexTG dUBw== X-Gm-Message-State: APjAAAWW8pwe9y8ISjhNwv59uUv9OOwB53MVWOMTimR96MWelfNxaPIR 02ISD2p0m3eaDOylWhjCP3lluw== X-Google-Smtp-Source: APXvYqz+nJaunx5l6Vf9OIkQCL6s6K50AxcdMyYNTWobxvNpMZsrgmHRW+bR9npRdass6WUk5Wr2sQ== X-Received: by 2002:adf:9f52:: with SMTP id f18mr35139414wrg.51.1574761411401; Tue, 26 Nov 2019 01:43:31 -0800 (PST) Received: from localhost (ip-86-49-253-92.net.upcbroadband.cz. [86.49.253.92]) by smtp.gmail.com with ESMTPSA id p9sm14119319wrs.55.2019.11.26.01.43.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Nov 2019 01:43:27 -0800 (PST) Date: Tue, 26 Nov 2019 10:43:24 +0100 From: Tomas Vondra To: Michael Paquier Cc: Andrey Borodin , Peter Eisentraut , Alvaro Herrera , Gasper Zejn , pgsql-hackers@lists.postgresql.org Subject: Re: pglz performance Message-ID: <20191126094324.7y2n3n3houetavwd@development> References: <3c2d92d0-e715-f9ed-e1a7-3c510ed65940@2ndquadrant.com> <20191101154828.GA15829@alvherre.pgsql> <20191101165950.b5azncggaqfan5fi@development> <35c2a448-06b8-eab0-05ea-34a3f51ba9a8@2ndquadrant.com> <20191125080309.GK99720@paquier.xyz> <13C6049A-C3D9-4021-9934-41488DE38BE9@yandex-team.ru> <20191125082940.GP99720@paquier.xyz> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="2qwlsesnayzwvovp" Content-Disposition: inline In-Reply-To: <20191125082940.GP99720@paquier.xyz> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --2qwlsesnayzwvovp Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline On Mon, Nov 25, 2019 at 05:29:40PM +0900, Michael Paquier wrote: >On Mon, Nov 25, 2019 at 01:21:27PM +0500, Andrey Borodin wrote: >> I think status Needs Review describes what is going on better. It's >> not like something is awaited from my side. > >Indeed. You are right so I have moved the patch instead, with "Needs >review". The patch status was actually incorrect in the CF app, as it >was marked as waiting on author. > >@Tomas: updated versions of the patches have been sent by Andrey. I've done benchmarks on the two last patches, using the data sets from test_pglz repository [1], but using three simple queries: 1) prefix - first 100 bytes of the value SELECT length(substr(value, 0, 100)) FROM t 2) infix - 100 bytes from the middle SELECT length(substr(value, test_length/2, 100)) FROM t 3) suffix - last 100 bytes SELECT length(substr(value, test_length - 100, 100)) FROM t See the two attached scripts, implementing this benchmark. The test itself did a 60-second pgbench runs (single client) measuring tps on two different machines. patch 1: v4-0001-Use-memcpy-in-pglz-decompression.patch patch 2: v4-0001-Use-memcpy-in-pglz-decompression-for-long-matches.patch The results (compared to master) from the first machine (i5-2500k CPU) look like this: patch 1 | patch 2 dataset prefix infix suffix | prefix infix suffix ------------------------------------------------------------------------- 000000010000000000000001 99% 134% 161% | 100% 126% 152% 000000010000000000000006 99% 260% 287% | 100% 257% 279% 000000010000000000000008 100% 100% 100% | 100% 95% 91% 16398 100% 168% 221% | 100% 159% 215% shakespeare.txt 100% 138% 141% | 100% 116% 117% mr 99% 120% 128% | 100% 107% 108% dickens 100% 129% 132% | 100% 100% 100% mozilla 100% 119% 120% | 100% 102% 104% nci 100% 149% 141% | 100% 143% 135% ooffice 99% 121% 123% | 100% 97% 98% osdb 100% 99% 99% | 100% 100% 99% reymont 99% 130% 132% | 100% 106% 107% samba 100% 126% 132% | 100% 105% 111% sao 100% 100% 99% | 100% 100% 100% webster 100% 127% 127% | 100% 106% 106% x-ray 99% 99% 99% | 100% 100% 100% xml 100% 144% 144% | 100% 130% 128% and on the other one (xeon e5-2620v4) looks like this: patch 1 | patch 2 dataset prefix infix suffix | prefix infix suffix ------------------------------------------------------------------------ 000000010000000000000001 98% 147% 170% | 98% 132% 159% 000000010000000000000006 100% 340% 314% | 98% 334% 355% 000000010000000000000008 99% 100% 105% | 99% 99% 101% 16398 101% 153% 205% | 99% 148% 201% shakespeare.txt 100% 147% 149% | 99% 117% 118% mr 100% 131% 139% | 99% 112% 108% dickens 100% 143% 143% | 99% 103% 102% mozilla 100% 122% 122% | 99% 105% 106% nci 100% 151% 135% | 100% 135% 125% ooffice 99% 127% 129% | 98% 101% 102% osdb 102% 100% 101% | 102% 100% 99% reymont 101% 142% 143% | 100% 108% 108% samba 100% 132% 136% | 99% 109% 112% sao 99% 101% 100% | 99% 100% 100% webster 100% 132% 129% | 100% 106% 106% x-ray 99% 101% 100% | 90% 101% 101% xml 100% 147% 148% | 100% 127% 125% In general, I think the results for both patches seem clearly a win, but maybe patch 1 is bit better, especially on the newer (xeon) CPU. So I'd probably go with that one. [1] https://github.com/x4m/test_pglz regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --2qwlsesnayzwvovp Content-Type: application/x-sh Content-Disposition: attachment; filename="pglz-test.sh" Content-Transfer-Encoding: quoted-printable for t in 000000010000000000000001 000000010000000000000006 0000000100000000= 00000008 16398 shakespeare.txt mr dickens mozilla nci ooffice osdb reymont = samba sao webster x-ray xml; do=0A=0A echo "SELECT length(substr(test_data,= 0, 100)) FROM test_data WHERE test_name =3D '$t'" > prefix.sql=0A echo "SE= LECT length(substr(test_data, test_length/2, 100)) FROM test_data WHERE tes= t_name =3D '$t'" > infix.sql=0A echo "SELECT length(substr(test_data, test_= length - 100, 100)) FROM test_data WHERE test_name =3D '$t'" > suffix.sql= =0A=0A p=3D`pgbench -n -T 60 -f prefix.sql test | grep excluding | awk '{pr= int $3}'`=0A i=3D`pgbench -n -T 60 -f infix.sql test | grep excluding | awk= '{print $3}'`=0A s=3D`pgbench -n -T 60 -f suffix.sql test | grep excluding= | awk '{print $3}'`=0A=0A echo $t $p $i $s=0A=0Adone=0A --2qwlsesnayzwvovp Content-Type: application/sql Content-Disposition: attachment; filename="pglz-load.sql" Content-Transfer-Encoding: quoted-printable CREATE TABLE test_data (=0A test_name TEXT PRIMARY KEY,=0A test_length IN= T GENERATED ALWAYS AS (length(test_data)) STORED,=0A test_data BYTEA=0A);= =0A=0ACREATE OR REPLACE FUNCTION import_bytea(p_path text, p_result out byt= ea) =0A language plpgsql as $$=0ADECLARE=0A l_oid oid;= =0ABEGIN=0A SELECT lo_import(p_path) INTO l_oid;=0A SELECT lo_get(l_oid) = INTO p_result;=0A PERFORM lo_unlink(l_oid);=0AEND;$$;=0A=0AINSERT INTO tes= t_data (test_name, test_data) VALUES ('000000010000000000000001', import_by= tea('/tmp/pglz/000000010000000000000001'));=0AINSERT INTO test_data (test_n= ame, test_data) VALUES ('000000010000000000000006', import_bytea('/tmp/pglz= /000000010000000000000006'));=0AINSERT INTO test_data (test_name, test_data= ) VALUES ('000000010000000000000008', import_bytea('/tmp/pglz/0000000100000= 00000000008'));=0AINSERT INTO test_data (test_name, test_data) VALUES ('163= 98', import_bytea('/tmp/pglz/16398'));=0AINSERT INTO test_data (test_name, = test_data) VALUES ('shakespeare.txt', import_bytea('/tmp/pglz/shakespeare.t= xt'));=0AINSERT INTO test_data (test_name, test_data) VALUES ('mr', import_= bytea('/tmp/pglz/mr'));=0AINSERT INTO test_data (test_name, test_data) VALU= ES ('dickens', import_bytea('/tmp/pglz/dickens'));=0AINSERT INTO test_data = (test_name, test_data) VALUES ('mozilla', import_bytea('/tmp/pglz/mozilla')= );=0AINSERT INTO test_data (test_name, test_data) VALUES ('nci', import_byt= ea('/tmp/pglz/nci'));=0AINSERT INTO test_data (test_name, test_data) VALUES= ('ooffice', import_bytea('/tmp/pglz/ooffice'));=0AINSERT INTO test_data (t= est_name, test_data) VALUES ('osdb', import_bytea('/tmp/pglz/osdb'));=0AINS= ERT INTO test_data (test_name, test_data) VALUES ('reymont', import_bytea('= /tmp/pglz/reymont'));=0AINSERT INTO test_data (test_name, test_data) VALUES= ('samba', import_bytea('/tmp/pglz/samba'));=0AINSERT INTO test_data (test_= name, test_data) VALUES ('sao', import_bytea('/tmp/pglz/sao'));=0AINSERT IN= TO test_data (test_name, test_data) VALUES ('webster', import_bytea('/tmp/p= glz/webster'));=0AINSERT INTO test_data (test_name, test_data) VALUES ('x-r= ay', import_bytea('/tmp/pglz/x-ray'));=0AINSERT INTO test_data (test_name, = test_data) VALUES ('xml', import_bytea('/tmp/pglz/xml'));=0A --2qwlsesnayzwvovp Content-Type: application/vnd.oasis.opendocument.spreadsheet Content-Disposition: attachment; filename="pglz.ods" Content-Transfer-Encoding: base64 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 AAAAAAAaAAAAQ29uZmlndXJhdGlvbnMyL3Rvb2xwYW5lbC9QSwMEFAAACAAAFEt6TwAAAAAA AAAAAAAAABoAAABDb25maWd1cmF0aW9uczIvc3RhdHVzYmFyL1BLAwQUAAAIAAAUS3pPAAAA AAAAAAAAAAAAHAAAAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwMEFAAACAAAFEt6 TwAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvdG9vbGJhci9QSwMEFAAACAAAFEt6 TwAAAAAAAAAAAAAAABoAAABDb25maWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAwQUAAAIAAAU S3pPAAAAAAAAAAAAAAAAGAAAAENvbmZpZ3VyYXRpb25zMi9mbG9hdGVyL1BLAwQUAAAIAAAU S3pPAAAAAAAAAAAAAAAAGAAAAENvbmZpZ3VyYXRpb25zMi9tZW51YmFyL1BLAwQUAAgICAAU S3pPAAAAAAAAAAAAAAAAFQAAAE1FVEEtSU5GL21hbmlmZXN0LnhtbK2TTW7DIBCF9zmFxbYy tFlVKE4WkXqC9AAUBgcJBsRPlNy+2IoTV1WkWMqOYYbvvRlgszs725wgJuOxIx/0nTSA0iuD fUe+D1/tJ9ltVxsn0GhImU+Lpp7DdAs7UiJyL5JJHIWDxLPkPgAqL4sDzPxvPR+VbtHMwJpc 0dbDeeLGnk8g7QsqkWv1VQjOAaIZUsJyr7WRwGeEUWm7au4taGOhreXxcjegi7VtEPnYEfbQ 130IoIxo8yVAR0QI1sjREDuhouMM6Lx1mkIEodIRIBO2xMrhWNwPCmMTy9OSBuwfWDFO9MCG /CKVBDnX6060Tu0BOddBsiG9CCw95qH/V3NTvlh4vV0HWbweet2jUeknXlCtelussfeoTV/i iEhr9uRLTQWHdmkxVM4Jg/iG/fvx219QSwcI7kyG7jMBAAAsBAAAUEsDBBQACAgIABRLek8A AAAAAAAAAAAAAAALAAAAY29udGVudC54bWztfVtzGzuS5vv+CodmZt8IIQEkLt72mZi11p7j 6N7Y2J6Z2IiJiQlaLEmcw4uCpGy5f/1mFksSRREyUKwCaZvu7nParEJVZiGR+DKRlz/94/10 8uZLtViO57N3ZyDk2ZtqdjkfjWfX787+9V8+DPzZP/723/40v7oaX1ZvR/PLu2k1Ww0u57MV /fsNjZ4t366vvju7W8zezofL8fLtbDitlm9Xl2/nt9XsYdTbzbvf1u9a/7JcfZskD69v3hy9 qu5XqYP53mdjh5/T31zfvDl6tBh+TR3M99JH3Rx+NU8dfL+cDK7m9NWnt8PVeIuK+8l49se7 s5vV6vbt+fnXr1/FVy3mi+tzCCGc11cfCb58vO/2bjGp7xpdnleTil+2PAcB5w/3TqvVMJU+ vneTpNnd9HO1SP40w9XwxazeLqol3ULssmCmPWhzzDP5+nKdLF1friOf+fJmuEiWs/rm56Ki R+miokebY6fD1U1kfv35X+hi/Y+//PlJrhbT1Hfxvc8+1eVifJvM5vruzfHz+fyRVB6wXuw1 uUpKc77++8bdX1+9/etivKoWG7dfvnr75XBy+fjF59NdH43ug3O6Y1B9YZF/XET8IZaRAep8 ffnx5uUo+uj/95c///XyppoOn24ef//mwXi2XA1nT19mwZMQ5RTPF9XtfLF6/DBX6cqXZks9 0nazmk7iqoOvPtx6vRiNdt5K5OhzUiO0iAdfxtXXv3umW1+Xh3Be37SpT18dAPKc73lckjTd T8p/cf24P13N72ajtRpYf4zq/rZajPnScFIPe/vsCZsSPJm3eGSzp2084ZmiH1eTh9X/yNLO x8zng+mShIGEfn77dmP0831jMb1PexwL+nx0tf3ErUV/uVzq1a65/Zf/e87XBrxt0sbQvGkD Lqiz3x6wwVoXLM8ff7gijDC4Gl5Wg1F1OVn+9qe1jn/8+c3670z3u7N/WoyHJGukfh9umI4n 3x5+P3998J/HtNvUc/Pmr8PZcsdj/vvwdr78H1v3rX88e/Ps0Xz/4Lqa0VckXbP8Ol4un91x O15dkjb+MiTCWHS/Q9pF9V/Df7t7nayNe1JI+rZcVdN9aPrzeHZ3/6b+GKvxrHrz8ZUPtnVn Z/Sdx4Sk+X14t5rTvje+HNTPeZSe+p/PuLmcw+PLGuJrpULb+ORuOjt7GLn54+CWFgPzVC3f XM3ffl5Uwz8GnytaF/RAfvXDE5vbv45HvAWD9UKF21XNwAY9rxGnShFnglAmjzZdijbtBWAe babYdzPCZNKGpWhDKVzmnNpStHkpwObR5ootVKeFz5rURUyLLOZftyijXzbJWl/iH2+q8fUN 7aOAwvGXeZ3iu2U1mN+uxtPhZLA5erW4q3LojiiY4nRfDSfLDMJXw90f/OHHKZmE1WJwO7yu BusR/4f+71/52n/i1X+OcYu7Dc7WdvpovLydDL81H7R5KtsTZIUPpvMRPXGyGKw+55C8+1sn knxfzbeFvEOi1yZ3Y3kPXhL/v+Fs66Y3zd9o460nk158WZEJRLBwjWCn49lgx8VmGF9lWHlN rxuNr8crugo1XTtIeXw1sXvJ4JQ+0S4aZSkim+sMbH/7h0eS678+/m2b1mejdpO/QX99U+Mn 2/gqT2Nf0ZRVDNJUk8nDldvhgj1x9V8GD2Dzang3WW1rUhr0cuHXdAwn4+vZYDm/W7D77stw clcNVt9uHyWPrMxq+MjFwxpn/fB1Mbyt1QDbAbP5gP/+MGo0XlSX6yuT1eLxWfO1Y2YwnF2z z02+vMDU8NNmjwQsbxbj2R+D1XxwNX56//raF+aHDLiHcZ/nK8KMD3LxePW/7par8dW3Rok9 QmP6fMNrIvpm89PUhtD60zwfxixPh4trEqdJdUWUSNaTu5Ynr/6nt9SPer6H0U41X7w7+ztZ /znbnI753WpCMHuLz/oS/z5Y3Szmd9c36zl//qFe3sTz+PyeGms/M7eInPrH5fhv9CNAo/zX vz28ZDFtbl2L7s1wxE6bFy8n87ha1BQ8I+/hcV+bbeLheRsk8dsHw+V4OHugYfNiLd/N1R2D 18995QZmuHbpTar7Jztz6+2P1yPvf7wep2D7lnRcVMVshLTV/rDq2AGzeb1RR6+pAt7o5wua t8F68Tyf1tF4eD2f0RL6PBmsFpFrK7q82CEOXauWJ1LXC/A5Mc8VztO9iwehe7q5Qz309J7V /JaeVIP1N8v5ZDx6s7W+T8rqpKx+DmUVcxr0rqxOuOWkCk6q4JhUQcxH14WV8gNDk9dwwJFA lc0BJ3100kc/hz6K+eX3hSYnVXWyqk6q66S6elRdsWO7k+r6gVXXCWWdVNXPp6pip/gnVXXy VZ9U1UlVHZGq8odRVT2qlt1KpHNtcVIEJ0XwMymCUNRT/bppcsRA5WRTnfTTST8dQD+B3EtB xZHKTxwBdFJWJ2V1UlaHUFZ9Rif/RGjqCN0+J4V0Ukg/oULqLYD65Og5qYKTKviRVEFv4ckn Q+p0XHVSXifl1afy2i+g+pdUXkdoZJ2U1UlZ/SzK6jxaj6e58Hk++vZUA+p2UQ1Hy5uqWv32 p3VFA66wdTdZL6hltWKheyh2cDlc0nevZksSxS9PArS++PTCq/FsNJgMP1eT5dY9XIpiUV3T 4xeD6p6r/3Fdql13fR1PRpfDxWjZVFZ4oI6ry60LQq3/Ph3ej6d308FofHVVkaJlnSUFify6 skGcpYcH1v9sHraW2jE+ELKpk7n8xUalrMWUl9liusn2/PJuuaFi+OLt7eTbYFQtWaWuV+5j 1Y2N1ze1U3a8ta6V1FSaWG8a661g126S/kzVwzP1wzObKhLrW5eD9XZRjd6d9fFWc+Lk6DjB 777V9vBW+923gpS+7YsX86873so1iLYIpOftIq+CF6zE7jRPZfsesde7s+WKcMz12ZuH+oe7 ru3kf3k7nM2Y/W1hIJY2rtaM8INvf1tXxZGkPNd/f9CiT3Q/bhVzwj/VaPCCo1fk7Yf5DLfD 1eXNGzh9Bv4M6vQZTtJwQGl4Xamfb9FB5Heuvlt++McvV9fMrlYJX64vGXiaxEV1Nb7fn5L9 P8p4diSELO+uOqHkNDmnyTlNThtKwvFMzvHMzvFMz2ntHNXaOTQeUnvzvnZMS5DP/6Qg7O/Q hjtpu5rMh6vnV7g+uApBoPOo1W6y18MeqQarZYpl/B0SXTqJQQsprQyYRF/QRYmzVigXZNBJ xFlbeHKBPp4FDDaNPh5gin4/UEZ471GlzS4oLEuetCJ4BOPTyJOu8ARrCEJ7DzKRQB5Q9guC FU4HpWwagdDBF8yaYCmcQ0hdIF2oZ86cWP/ORyR3k+G7s/nV23f/Lv6X/o/zfxd//z/1f+xk 4Km48zYXUoSgTQikJr0EjWE3MxsPeNKX4R864EhFOPqw5uh9NkcgtCHFGrQFG2iC0hkCbfrk 6OOao4sWHFkwpGB1veUqk8GRhS440hGO/rmt1AHty6AAaaa8tjENtJMjKbvgyEQ4+r291ClE cF5prQBMxjICZfvk6FN7qUMljbVee8IBGjI4QtWKo0MDc90XMO8Au9msrV07mjzar5OBufb7 k+jTSVS0tXsbTEjb2lUXW3sGeQCkcmkDMYnQElKc+l1OMLhQr05IhEYWfAeWV8YXRGuE0uhs ZLPaIpBuL0qeVlKgD1KlYTdS6aVXMHATKZ+BzcsuYEQvCCyG1PnFsuRpUEKiwUQFqLtYwHFs btYoybTB5lIr7w0QtEAfEdYDYPM1R++zOVLCSnCKFD/phqjlvoshZTvBfVFsvuboogVH3kmF Wmra5pWLyNtOjrzrgqOY1P3zPlLnPRjrTUCaq8gW0yM4j03S7+3FDp2xJHJeSjILcyYJO5mk GEef2oudC9ob7ZDQpocMc4NM4xM43/zTwc6UtbUbwh5AKsOnbZ31gKKbp0WBxiZunV34pXNw B+3rQUWt0W3YURqXkx0lMICWkQW5w/DqwKeaN7ea9qs0WGk78Jjnza1Sxrs04orPLaFJgRZl os1KA2zhdcvfT0GaWrEdfL4M2owj5OfBpX0704FOjsNxXAMjbAOMUGr0HoEUZOxDHwAYfViz 9L4VS05LBG3ZF4vuaFj6uGbpIpsldi0rNNKCdjr4HLdlNxxFAXlbuas5MlJrabwOUN5ZHsXj e4idCcrR7ofgSaFmmBgBe8XjbaWOOAKaG0RvZTAqZIhdaHdE8+PjcUI/oTT4JuUtWDnI1E0c fVmApo1Q3vqQtovrsm5T0MJ7lQpuO6Atb27RCNqgnUsF34iFAa4TTlonI7vsNsAt7DKVgizN EAsAeOExLT25QQsDwSev2y6iuXLm1girjHOp/vCyx21B+GTLQHdgtcTBt12DINsKqQaHAN4C IYbj8Up+WLP0PpslENYT9jbaWSOzgjp8r8h7zc9FNj9kfkpHoNtKQELgOV5W1UmYShR5txU6 Rt5SBQPaSMhxsvYNvNuLHOlFsM6hdahcjrmHvZ4ofWovdGC8MkiQSakQ2/p3Ch20MyV+fOC9 vBn+US2J7EUlVvcdpNVlwrS1Hw2Tt/LCfjRvBSCYRAjuyzrADZKW1aDSYJrpAGfkOUkJpoHh w7ZUJ2lhnEb4QZAKBJ8GwqGLmOccHy5bWGRiJR6+lDexrDDKm9TAKB5QdnqlFODYQ5sYlF04 LEqxn4jszjQroYOlEUfibg2KXCs3ePABnDSGZjgD5/WNxNcsvc9mCYT20ngfrDOBoGtOyHi/ WHzN0UULjgi0anQBkU9dcubI9IvF9xG74EEi2X+E+GKn54dA4+3FDqzyCoitoHPc+tBJxHgU i7cXOtIJ6JTXjuYqdo67m6N2YTY/PhafLg7gAdeeJikRAPGAonukcwS/JULaDu7KRobXG7hM DnvtYAPPg9/WCEO7WMyy3xGjUPYEISiBJq7tesjIzQHfThgflE2zrWwHkpe3clWgXZ1Ua/LK VWWNF0+TW6d1pRnOhR30TihrTGK6NXYwuXHo7dcYyLfBQBz8ZgKgd9Zm+O96Dghfc/Q+myOC DCGY4MmWQASbAxlUv/Ena44uWnCkHKJCpaS00QSE3Rx1YktEkfc+UkcrB8FYFdDEqj0cAnm3 Fztpg0bDsSfEUlZITb8B4e3FTnqlvFQelLUmK5Crndj9+Nh7NL78o5oti59keyE1ysQ413pA 6ThS742zadu4LbuNay1U0FKlWQe6NABHRPp4GhPpK+8g9aTN0cXy07chWgdRHjlnG1p4a1Wi 79YUd35bFAS/gk92fhdOjrBaSGN8LE/w4AtXow4+Tet1sXDj+DuskVBoFYRiLH9k+rc7olDc D2uW3mezRHDVOx2M1oBKZjnzVa8mxcc1RxctONKcLCuDU0Hm5PqBble2IhV/7yN1nmwJXtlS 6yxPcc/4u73U1UH6VpEQSRVLRzoAR5/aSx0nYmpQirjykJGq3ZajHx9/T+d/G08mw0PEn5B1 HjsUO3j8CQQRrE6t/VA4OTQI6YxJ9d+Wdn/7ILigVGwbe+n+Lhzdr7RwoEysTMD21BaO7qeN RhmZaLmUDwAHrohiYhldO8zmstaLkmyZhiNdtcYGk2iUdrAk4tAb5BoF0b/bxJ0QsDPKOWnc EdWl+NAw9T6fKZJp7xwh1WCkDFk8Qb/wu+Hpog1PSmqvaIsNgCZklcLrNwOzvfDV8C4A18ML QBj8aGTv931kT5KW1B7ZZyyzShbKTiylKAjfR/ak0ahsCFq6vCSRdrU/f3wUPrscFw9BcYIw JPjkRD1fNsrDeAHWFyxWkAczCKMlxgB0ATPyptYYYTUXEk6d2i5C1HOii6AueZCYI+rKVslQ nswDDYk5mF1Ed2Q6wLUIkihMrVxUuqyjpe8XgkzUK7aw7cclUBzKNO+86rUECkADhKCdC5xU NyNwE7LyFvtG4dAgoWymQJhABpLUoL1EmVMy3PSMwqFBQm144mxM8BwvbWP5QoeIAN9P+Dx6 kEHRNB1TEvDvewmf8iooB1jnmuZMlO4Xhu8hfBo1V0MPXO8zy7TQv2pW5nw9vjgWR4FgVXpG V+GER1Ac8YHRo8ltAlXxmGEHRibu6rZ4scnAXWi8jbXB2JGPWbjUugncOQFNYsKoKRzSrAV4 rdOsrS4imvMWrzOCdKxPpI8HlLW2gM+ytIfUsi2lK51a2qesTSza0kU0zyuQXDWoSLVBRcZa VbMSbE6njp6jwhue3ufzBEKBJLXgFZD0ZIU8dFNLJI7IVQOK2vCkvEFARTZ+yGpMpDoBenFE vpfsBY1onWevT14kdc+IvLXwEVNOOTaerFd57YlCv9Hh7YWPeQoBaXvXZGlkNZEKv2p8+Hw5 +lx4R7fOCWt96iE83V/W+wyWdnPBzSFTfYDal/Wh0hs5gB2USu9+1EUobN40A8ddepNYkq0e UPgrKokE3XRiJRK+v7BdaGkbFVI6lxhSXA8oPc+cj6vQJqZE1gNKrxbJfmlUOrlkfRcdE/Im 2ikRbEgMreH7e40eh6brIbRqtmkl1G1h0UfNtoM4z5vGh62Y8kE51MQbR10fi/XxsWHpot08 SW+MJ6CENqu9Sjc8xZH6XrLHbvPguW1ciHU+OwhS30f2OH0TPO33XqqcmpN9B5LvJ30GZeD+ al7aLKj+q/b2WVTfpvNZ6VKGNDcCQNvkjDBbOqQXUHjH5QISg3oLJ6yBQO2j53jb/rfSHV9Q a0H7mk8vFl+6HjtKzpjE1MMbLGtEkKWotPOxHKwekk0zvedBGGdNeiK2K3v4UB99qWhVjEOf fKFAh5hIXc/O86bZIbTqdmjQGlSBC6vEbMlDOM+bbof5PIHQHCHoLMhgdFaUhO63qErD00Ur npQEwiPogzZZAdg9p3XuJ3uuruajpJOAxwTJ9xA+abXh7E62NrJOOWS/ZQ33ET7JaYO0mMja wNhhZpflYn58RL4cTj+XTu20GggPeRtTDy/xuC7eBs9bF00PPnBkuePSyRizN7cDVIuXv0MU 0kiTSF/59j5WCmU5/TQNEJUNddAoSO5MrDHZdvmNDtBaZnanFBq8i3Ug3JHdWbhytxSQXpgd C0+uFJLha2JtlV4b/EDT5hDa9ddka5uLIvsQS785iHe86XSYzxSZwIRYjarLxWCOeQGqVzj0 seHpog1Pmn0daJzxxrmciOW+sfhewudQggtgHOrYadhBsPgewid5hkzQyoDJStXot83mPrJH kFpD8NJ7Mp1yZA9+1Uaby+G8OFbjOtRKJdYJqQeUPvcGjmNRqZHbPKB4IAvQvm6NTMwHrAcU D2Thfj9Wx3pm7AhkKdzvxypNdo2SPqYrXoYP6MIh8JaoE4QQZGJXp3pA6RVt2auoUouj1wNK LxeDQhtINHHq+w8QmaZJKyZ2gK0H9IrVm8aI0KozIi16LYO2LBZHg5Y+NDy9z+dpHUygCStp 7TH442HqY8PURTumtCNrmawq9p5k+GP7DmXZS/ikAdDcbQZjfQQPAtVbC19dEVFa52kzZeP3 aHj61F72aiVRS11QmUkcv2xNxK/V5+WqKt0UyErgstA6GQxbWbgyBlc9cSYxCbR4dTVUnGaf 9u2Kl2SxRJ/BENukd4Q5lP18ygoJ6BIbUqnS6ceC9hmVGuFVOkTJSiuCdallB3lAWeNGgeDw 98QzpcIWtmTbNdqoroeF+woUb/oiQqvGiF4azlfTGGJa6CBQvGmMmM8TN9ExnntdqYA2ZnPu 9pr3moH3seHpoh1PNEVBK6cID+XMUzc8xZF4a9mrkbiW4Ej6bMgqMtM3Et9D9iRaRKWa6iVH FMCyh+xJazjygP6DKtYdsEuefnwkfj9YDL+V3s65yLHR0iXj8MJFjjm5ynPQto4V7d+RjVU4 apYM6CCk1ybZV6mLl9Jjg8sEn1pjsh5Q+CsCegFkFCZGFdQDSpMYnDAI6Qck0EV1m6yJpi1f uIA+5qV6QaLTxdMrgxbaOplcWV0V7stKC1SDCNKmV4zVXQT2vYLWm16K0KqZIpfj42otUrqc WoN9x5s3zRTb8aTIsFTeSHZfHgtLHxuWLtqxxG2KnUNtJZoMH3PfbvPWole7mEkXSatIrx9T G8/2olcbINyRW3uPWcnHvbvNW8tezRPQarIGudPByW2eANankwOEuGgwNvkst3SIi+J25sFj YnE41UU/85xNXQcBTtvEVpR0e+kJJisiAJkRyQ1nugiszYn69YaMRdCJ6JduLzvBgb4f7TSJ IdNKFj8YQcnFCXVycRYsnD+rjRcBQ2p9Ql24NiY4L5Qi6Je4QLooVfUKJG/aK0K7/orIqRvc XygWPnQQB3rTXzGfJxCGcavkVpiEYrMqmrdrhJKMyZsOiy15MkHRfwOYrOI53fAUx+R7yV5w wRLMswAux87oHZTvIXxackK14mMplXUq0G/+8ad9hE9xLRaaK+mczju9Oar6iY/fpnk+3ff8 4cZzSFUbspTZh6wu37j5y7PnPjyyfut9NZ+d7aBmNXxBTf3uXcI2dw9PGFVXw7vJqqZ8sHnP xfoCU5r4TNXDM/XZ9z5nH281J06OjhP87lttD2+1331rrddavnhvFwS8YCV2p2nrrNjN//J2 OJsx+9vCUCvmx6vwtKFMhxwhmGItXc6/VItqNEhXqerH+Qy3w9XlzZsUi+wX+Awppx2/wGc4 ScOBpOHQHmTY24M8Gq6Gy6qDCoKtZeBpEhfV1fi+Aztob0rGsyMhZHl31Qklp8k5Tc5pctpQ Eo5nco5ndo5nek5r56jWzqHxkNqbd7n+A/L5nw5OwDArUNJYwa2tklucWdPBObZLJ9E7oZx3 sXrq20VuyxJnuXcix5mmlSTrIKwva3J1AKG9DOk1OLoId874fqC8kMb41JpzXXRtziFPOoHO S5t4gt1F1YjMCVZCY3IDxXpA2S8IyDWqYx0eXtRH76BiRNb8SoEhJDdc70I7x0/Ym9YTrRqE GGudlMp642Kpih22Hks9X2/6TmRzBMIQOy4Yj0B/sk6i+01Pa5pOtODIhmC1lA48YFYbP9fJ ka2Ona3vJXVOIa1tra1TORG8nUidiR2st5c6raTWaBTNlcuao27K7sU4+tRe6riatw3WEkdZ DOGv2ugkAsuL12s1ipCHw/R6raZszoiqeycgJmYvqcLNEwAIGNF+nQosixcWQE2LE41JbT5B A8om7zusy264xJIgrni9ZSUs4cXUgstYujUhh+cSgomWT9pRc67sF3QGGfyqxPBmZ8oWBtHB CwQVEktb6NBBcG4cmzc9KFq1oCB8pLl1kYtG8h4i9rVpQJHNkRbcfAJIPSgZXCy2exdH2vRb xK1pP9GCI9DBKoZ9mkzBjLwtDf3Gve4hdSRszjuja/CSkzHYq0X4e3upI+kBTtPWCMZnlFrW utd460/tpY7MQK0seItkEWbYuBrbFY/+acF56VqtTpE578hYTMVurnDhJauE0RoS6zN0UQM1 r9OD1ZK2xbROD8W71gVN2tOlN60LZdO+eG7BSZ2Ge0vPrRIE2FQiKC+OyUnhciOPkNxwkgaU nVwQZDKoWNWCgy/c4LWN9aPoYeHG8XjTh6JVGwqlLYFx540kNXQstRQ+NE0oWnEUnAECEQSO 8mq59VxVuWlC0aqtBnpvuV+Ihtgu22NfjSgg30PsPBJiMCh1IBPjaMTu933EToE39D8LNisJ rV+OPu0hddIGi6hREibPKt/xq3Y+4QPl4ujbgFBcqzg1qIEGlHWNB2EDV1BPc1yV9foBCLKI MeYSeOEXLzy5HoOQ6MnKT5xcGlD0+9U9MAzGzqS36CvcAYPPZGRIrcvXxZFMZkNwJWhLt4kf jweUhd9GC2+Mj6HC7cktXG9GCWdMiPm+epjcOPxuWku06lhAtmtAlKQhTVZD5nZ7bCr8bhpL tOAIlVN8/Mp2hctBDah7Rd9NW4lsjpTgYglOaa5t4XMa9ame0XdbqWP0TWhVOQjcKTJW7uUA 6Lu91PEUoVYQ2BWUFSDVq4P/0x5SJ8l4VbT1e51ll6tfFn0vb4Z/VEsie1GJ1X0HqXV5JXa9 FEorn1pgjAcU3TC9EtzGOLEvR2FPHxkxjpvdpxFnive9ABSWq7ymFmezULpvCAeJgkuNfFZl bUBbtzWRsd2zB0duZvQRigBKQXLPmi46lue0/HFCKh0SS8d1UXU6Z+0GQQsDEgNnuqgaF0fi TWuJVl1NLHAntLUbL6t5cb+RKU1niRZNGMjyNRpkUMbJrFJfPUeNN30l2nDkCRRpbppNu2eO uWT6rZK8j9iBNs5LYwBdrA/DAaB4e6njTYhQEP1Du1i/gd0Ns3uVuk/tpQ48gXFplEdvsox0 OKpSbAWh+LR0R0GnlQjSQHLXOafLAlxnSHmZxA3clXWl0QZujU/M2sTSdXOd0cKZkN7RorAj krAZ7UeQ2Fqli/OhHOAdBBivY82Ft4F38aLXnjMOeXZTgbcva7h4LQhpQGI/xsIlr5EWRnDK pp38dVEPPg68mzYR7boPkPYBlGQgQpYLvF/c3TSJaMGRBoOcO+5qeyInb65Xp/7HpkVEG44C N0iUzkiHOS5w0P3i7rZSx7hbeo5rtJ50Sk4jj55xd3upA6W50w/B7rxoDegkWTMKu9sLnfSa U8JAobRZQid/Vdg9Gl/+Uc2WpZ2jhIDQKEjsvMADyoIgtMIrrxJjmLFwx+IgUAYfixjrITwm 07AizcJh3ekN5QojtLqzoUx03RaGj0aRWjY+BgIOfayBjhCkjp/T74hAKYxwPQd5RNvWba/c srFPWtLKUBAr9dDDyo3D76YjRIs+A1IqCYTsjCUdlNO4o2f43bSDaNW2wwCQzSbBELbLcRL3 G4HSNINowxGjb6u95PIVWW7vTjiKwu+2UldHS6NHpaVCAq3HA7/bS53U2ikNSnmjY6603euo V6n71F7qSDEYWuXGgbSxugy7OWpnUfz4+Hs6/9t4MhmWDhIGgmiSFlTqLu67iGPOCU7wQsug UyNjyhoHTngjZaxH/TZ8LI2+uWqGg2hHrZdTW7hqhuL0S4TErpSF837JsqI9JlHqShtWVkqh DWpMnVpbeGohCEUCmBjxVBZ6k0IxbBiUWrSv9AGUTS822a4WikJL+6ynDTZrh+25EaBserFl MwVCKaMIAZFZQcZijj2hevVDfmx4umjHk7KS1JxyYHLCpTviKd4IcB/h846Qt+cSfx5j51sH QOD7yJ5ELt1s6T8e87IpOonUj/cB3EP2pCUAbgjdWQ15zbntL4rCZ5fj0jDNWwGIOrk5Nw0o 64dEobzFxCIjhdP0wHEhBZkaA1Aag3sDnKYnk4tK+y78uDkxHp4mV/vEotK2rHmljCDVBTYx Ta8D93Le5FqOy0JrEgtj8oCyk0voA52PVavdntzCqd1k/XmCsOWsv1eAODRYCNr4wLUKjlCA C95m7bE943BosFALnlA6z5DVctWQHCyE/QahNDxdtOFJG+8JBRkDfOKXE4bSbybmfrJnrCXI ioghpoUO0o97D9nTqKyTyNlwscoFPU5THIbvIXoKpTKGTfV4Pa/dJuCvWp1wvh5f3GNqRVDW q+RihIWzpQCCwOC9T83UK+v1IzwkuZRjWkxpF2Aoz2vqDGfC+eSIBVs4YgFQ0Taloqk82wRi WVvBc8kRkxgJ1UUOcF48iuRKnS61u1U9oOzsKk7ytpCaB1x68SJXC3Kxms3bi7cDM/8VPK4a TKRaRQdYr6UM2it7PMG5Hxqe3ufzRACC0+KkR++NjQXT7QYQ/SZjNjxdtOKJmAlEILGlshJM Vb9h4XvJnidWHMEC44yE4m184nh8D9mTNRan5SRtDkc9Fxn6tI/o0dRwcyLiSWUenf2qwSnz 5ehzaTBug1AQD/B6Cca7yEDL2c8t0o7uJKSWReEBhYNnrEY+2dIm0XtfDyg70Q68FdaBiTll tknkkJbSE801SAAhuT4PFq4nzeW1g/AYbHK1RxMKR604Wiekeo1OzAbg+0t/ROuFswqTQ6ZM cZ2jlBd86p58oqS6aPT6ClRvmh5Ci456UpHUGqWRvngsAajLfTgZqjdtD1vxJDnlzEslOY7g aFyyHxueLtrx5GmiQJmQWZaxGwwYh+r7yB6gdKgUY/UsP3O/svd7e9mryxB5tEC7AG2RR9Qg 61N74avtecN9wUFDTiB5S2v+x4fqi+rbdD4rXcHQWy1Qo0luj176LLzuP64JlxXsP56TrIYi EDZK7NCHhXuoOmmR0WVILMTOAwrXMERFyM3Z2Gn1C9d52Qo+XN8TjEmsQ9NFcc+81as1V0Cy ITmSRRdevWCFdPTaRNuhcAVNKwU6DYm9kLoItHkFkDedDiG7jR6DIgjBOQTQOqeeXN8VxRue 3rfhyShplTZOmbzqI6bnkPKm2WErlrQJygIAx8sfUUpne9FjmOcVR0coHWzI6bLZeyzLHrIn ybpQXG0yyLyYo5ZVSJLx+B7Cx5VVaKPgQqc2ZOmIX7WyynI4/Vw+r1Nz3qSNZTLsyOss3x9E oYxl+WxHlRfuD2IEmdAyMdRBdXAWnh14rDk4MzVOqbSxhY4rsofEtlJY1tQirKsdypB2aNNF qc/MpqlWOInRXLGXZw2lS3aTIe1oeaRNrimcMuCERWsSE2N7do03LQ6hVf88LbXRhEKNs1nH 7j1HlTdNDtvwpME77xUXV8GsKnO6ZyjetDlsxRMi53U68D4raVC3S7BLRuKtRa9O7gRwZNJJ 9PaIqorvI3rSIwbuVGuUj9Vc2r2c+m2wuY/occ1GJdFyvaJYik+XRRt/BiA+L43UCObysVli i/F6QOkIEWcJTJKFmnrmTQNKH8tLKzhkK/lwgQaUjlYiyGsU6sR0tnpA8QgRLoinILnUj/Gl gxuM5T5TJlpTd0f8RWl47tByCzyXaBseZKIJoYOkfS617CYNKK10uDaR9yH1uIZWdK8lEKHp hwhtGiIGE6TButFjtNjSIQLOm46I+TzV7bs9R0PxiWQsG+oABwEfG54u2vGkDXvOCalDrK1v jyZVHKvvJ3tkU9FcBUWr+Ghk7/f9ZM9opTQGK6ONOw4SxNJa9upqTYTTLRkgkqMk+mfqxwfr X6vPy1VVuheQByc8ammTi+YVLjkIXkgdTGrT+bLEEW1c7STNc1m8FovSItAenfrpaEDhUwct PAApimLlTrLip+qT9ETiildEdBaF1g4S+83XA8p+vyBkcDqx5XzxkoiGgERicFKvOLxphggt Ou1JAnhWI+qAeETBrx8ant634UkDIQflkWylvP5GfbvMm4aIbXhSgexN1Ipz8GIRUwdJ/Gwt e+vIa+c0AXGSwSxnbN/RK3sIH/v/DdkXNFchryJiJ4cbcSC+h/BJ0g3GG0ezFU11P1VE3MTh 94PF8FvhcGOllaAPJBO3pHpAaQ+W5jrCBpLTU2lAYRJREuBVysU2jh0VMUqXZAnOCydNatw7 Dyjukw4gLJ+1pSJLE0rLIuche6dlcjnwTvKQcyYaEVAAGkxNleYBpSdaGWFsarXE+v7CFDpp uV2sSi5g5GQHjv1X0HrTQhHa9FDk6voImgOZVeg/sSsZrTdNFPN5Ygsk1H12pAuk7Y/Ia970 UWzHE0hFKpqsEH2AQKQ4Wt9H9taWotZGexuLY9spez2D9b1kD3mnl5wRkNeKq+c6LfvIHigV AgZjIZgsi74dTz8BWJ9OSjveuHoHcH3L5PLlhXtkohHeok1EwQoL4w4ydWQwMrXVTBeGTnYT TwPB6eQJLtzEUzsjuIhMGn3alfb7InfAlqmZi6F0MoEL9PkC2QSpVqLrgsSc+eVK4bRdJwJz XbxqDApDtkAMw740vnqF5E1bRWjVV9E62nEJQ4CCo2op1HRWzGeKVJeTCoOTAPEQx925kj2X Tmx6K7bjKQBZGQRzaLfKwUWmk7TCOCZvLXz16Y3xTjsyWTEvVbJnTL6H7CmLinsDhDrz4WjK dn7aR/YUV+uUZOEy5Mtpd3Bctcwfv03zfLrv+cONR7Rx4P4KWcrsQ1aXb9z85eG5/KbRoLq/ XVTL5Xg+W/LIZpKX9ONwtLypqtXTj5/no29PfxvNL++mNLdEx2xF//7t/wNQSwcI3Ekdpv4o AACpBAIAUEsBAhQAFAAACAAAFEt6T4VsOYouAAAALgAAAAgAAAAAAAAAAAAAAAAAAAAAAG1p bWV0eXBlUEsBAhQAFAAACAAAFEt6TzvnAqPuGQAA7hkAABgAAAAAAAAAAAAAAAAAVAAAAFRo dW1ibmFpbHMvdGh1bWJuYWlsLnBuZ1BLAQIUABQACAgIABRLek/oFoR+xQIAAEcOAAAMAAAA AAAAAAAAAAAAAHgaAABzZXR0aW5ncy54bWxQSwECFAAUAAgICAAUS3pPtkY/+pcKAAA1XwAA CgAAAAAAAAAAAAAAAAB3HQAAc3R5bGVzLnhtbFBLAQIUABQACAgIABRLek8/9v+oOAEAAGsC AAAIAAAAAAAAAAAAAAAAAEYoAABtZXRhLnhtbFBLAQIUABQACAgIABRLek+092jSBQEAAIMD AAAMAAAAAAAAAAAAAAAAALQpAABtYW5pZmVzdC5yZGZQSwECFAAUAAAIAAAUS3pPAAAAAAAA AAAAAAAAGgAAAAAAAAAAAAAAAADzKgAAQ29uZmlndXJhdGlvbnMyL3Rvb2xwYW5lbC9QSwEC FAAUAAAIAAAUS3pPAAAAAAAAAAAAAAAAGgAAAAAAAAAAAAAAAAArKwAAQ29uZmlndXJhdGlv bnMyL3N0YXR1c2Jhci9QSwECFAAUAAAIAAAUS3pPAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAA AABjKwAAQ29uZmlndXJhdGlvbnMyL3Byb2dyZXNzYmFyL1BLAQIUABQAAAgAABRLek8AAAAA AAAAAAAAAAAYAAAAAAAAAAAAAAAAAJ0rAABDb25maWd1cmF0aW9uczIvdG9vbGJhci9QSwEC FAAUAAAIAAAUS3pPAAAAAAAAAAAAAAAAGgAAAAAAAAAAAAAAAADTKwAAQ29uZmlndXJhdGlv bnMyL3BvcHVwbWVudS9QSwECFAAUAAAIAAAUS3pPAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAA AAALLAAAQ29uZmlndXJhdGlvbnMyL2Zsb2F0ZXIvUEsBAhQAFAAACAAAFEt6TwAAAAAAAAAA AAAAABgAAAAAAAAAAAAAAAAAQSwAAENvbmZpZ3VyYXRpb25zMi9tZW51YmFyL1BLAQIUABQA CAgIABRLek/uTIbuMwEAACwEAAAVAAAAAAAAAAAAAAAAAHcsAABNRVRBLUlORi9tYW5pZmVz dC54bWxQSwECFAAUAAgICAAUS3pP3Ekdpv4oAACpBAIACwAAAAAAAAAAAAAAAADtLQAAY29u dGVudC54bWxQSwUGAAAAAA8ADwDOAwAAJFcAAAAA --2qwlsesnayzwvovp--