Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpyVV-0000l8-GZ for pgsql-performance@arkaria.postgresql.org; Thu, 07 Sep 2017 15:14:17 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dpyVV-0005Og-37 for pgsql-performance@arkaria.postgresql.org; Thu, 07 Sep 2017 15:14:17 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dpyVM-0004ur-Ae for pgsql-performance@postgresql.org; Thu, 07 Sep 2017 15:14:08 +0000 Received: from mail-vk0-x22f.google.com ([2607:f8b0:400c:c05::22f]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dpyVE-0003Wf-Uf for pgsql-performance@postgresql.org; Thu, 07 Sep 2017 15:14:07 +0000 Received: by mail-vk0-x22f.google.com with SMTP id t10so57581vke.0 for ; Thu, 07 Sep 2017 08:14:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=e7yXdcaz54PsNkYvsnufHzDj07qQpUWiTu4UEhrS+aI=; b=GUja6VELbVhny4HHIKMIvh0ouvB2sE69TRy5wcoC4pbKsBpBrVAhbgca+O1+3DWdaB aG9Hx693+MMx5zTNGgi7sMbH81RhxJ9LievjmXe5bl5x8F/077YqePVixeMNCjJpBpoc IrBaz7Q29jLx4HnISp5SCaYJoDV5T8vLMgds8m0eZSFudMNiln6AwYC9Y8TBkrCw46YM 1cubla2uoicbWppSqtN5iXWAoIuy9c/40WwVXYqeg3KqxXuafhGyO3Jv+2De2iqwy2cK ypEra+AZWhyIjfnZmurUcukxGuAP5b7aifdR+Q3MdBWVDD5RNmK24kGLeK2CQnGGwab3 EYYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=e7yXdcaz54PsNkYvsnufHzDj07qQpUWiTu4UEhrS+aI=; b=W6HSH5RMBMEDhDE/JB2BSsBdPiY861KycaE8VbgD7zvOcXxkPByRcmm6+o73kqhvK4 unyJfgoe3uGjgUdegZbiX7/e9Ou64DS8FKbLbUbSLV1BzaVzpQOPOgChiPj/3NTAOeBi /aWWmXcbYV/79vwdm3prIhp9y+BAtCeEKwt1+WyUdZ6l3pPBIuNL5GoVIaF7KwJLr+kn kNjzqBeTEzdRKjkUMRyf/war1izRmOO77uifUNHgbdIiI7fOboGJ98oSefTvk+NM/517 NOcBRMJEF/vzwigHiEo6IOXysYy8iPUIJpzhJefZPeSKyUNd2W8ARM+5fvLxuebKlQDm +9Ig== X-Gm-Message-State: AHPjjUiMpvyJh8tAYYOdxsV6xuqQPOCZjCKQY89NjvfD/08VebQDXWl1 d1Kk0vFpA9oV0oAEe7ctx6Dq1COv7A== X-Google-Smtp-Source: ADKCNb5bQCcqSmSFIRoofC7VZojsvtreXAdwhAUEXCXsy0NVWvFjIbQhNjZNu4TucP4n1Y538pMiu4tWyybg+NYSLFc= X-Received: by 10.31.139.149 with SMTP id n143mr1795414vkd.31.1504797238687; Thu, 07 Sep 2017 08:13:58 -0700 (PDT) MIME-Version: 1.0 From: Konstantin Kivi Date: Thu, 07 Sep 2017 15:13:48 +0000 Message-ID: Subject: Poor perfomance of update (and select) on partitioned tables To: pgsql-performance@postgresql.org Content-Type: multipart/alternative; boundary="001a114419f2df079d05589ae81a" List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-performance Precedence: bulk Sender: pgsql-performance-owner@postgresql.org --001a114419f2df079d05589ae81a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello Trying to setup table partitioning I noticed strange behavior that prevents me from using it. I set up master and child tables via inheritance, with range CHECK by date and with trigger on 'insert', as described in the documentation. I was happy with insertion speed, it was about 30 megabytes per second that was more than I expected, and server idle time was near 95 %. I used 100 parallel clients. However, when it came to updates things turned very bad. I set up a test with 30 running client making 10000 updates each in a random fashion. updates via master table took 6 times longer and server idle time dropped to 15%, user CPU 75% with load average 15. Test details below 300000 updates ( 30 processes 10000 selects each) via master table 134 seconds via child table 20 seconds 300000 updates via master table without "date1 >=3D '2017-09-06' and date1 = < '2017-09-07'" clause 180 seconds That means that constraint_exlusion works, however, the process of exclusion takes A LOT OF time. I tried to repeat the test with selects 300000 selects ( 30 processes 10000 selects each) via master table 50 seconds via child table 8 seconds This is very bad too. The documentation says that it is not good to have 1000 partition, probably 100 is OK, but I have only 40 partitions and have noticeable delays with only 5 partitions. What I also cannot understand, why time increase for 'select' is much higher (2.5 times) than time increase for 'update', considering that 'where' clause is identical and assuming time is spent selecting relevant child tables. Best regards, Konstantin Environment description. Postgres 9.5 on linux db=3D> select version(); version ---------------------------------------------------------------------------= ------------------------------- PostgreSQL 9.5.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11), 64-bit (1 row) db=3D> 16 CPU vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz 128GB ram 32GB shared_buffers Table statistics db=3D> select count(*) from my_log_daily; count -------- 408568 (1 row) db=3D> select count(*) from my_log_daily_170906; count -------- 408568 (1 row) db=3D> explain (ANALYZE,BUFFERS) select stage+1 from my_log_daily_170906 where date1 >=3D '2017-09-06' and date1 < '2017-09-07' and msgid1=3D3414253 and msgid2=3D20756 and msgid3=3D1504712117 and instance=3D'WS6'; QUERY PLAN ---------------------------------------------------------------------------= ---------------------------------------------------------------------- Index Scan using my_log_daily_idx_170906 on my_log_daily_170906 (cost=3D0.42..8.46 rows=3D1 width=3D4) (actual time=3D0.013..0.014 rows=3D1= loops=3D1) Index Cond: ((msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgid3 =3D 1504712117) AND ((instance)::text =3D 'WS6'::text)) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp without time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone)) Buffers: shared hit=3D4 Planning time: 0.135 ms Execution time: 0.029 ms (6 rows) db=3D> explain (ANALYZE,BUFFERS) select stage+1 from my_log_daily where date1 >=3D '2017-09-06' and date1 < '2017-09-07' and msgid1=3D3414253 and msgid2=3D20756 and msgid3=3D1504712117 and instance=3D'WS6'; QUERY PLAN ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------- Result (cost=3D0.00..8.46 rows=3D2 width=3D4) (actual time=3D0.016..0.017= rows=3D1 loops=3D1) Buffers: shared hit=3D4 -> Append (cost=3D0.00..8.45 rows=3D2 width=3D4) (actual time=3D0.013.= .0.014 rows=3D1 loops=3D1) Buffers: shared hit=3D4 -> Seq Scan on my_log_daily (cost=3D0.00..0.00 rows=3D1 width=3D= 4) (actual time=3D0.000..0.000 rows=3D0 loops=3D1) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp withou= t time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone) AND (msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgid3 =3D 1504712117)= AND ((instance)::text =3D 'WS6'::text)) -> Index Scan using my_log_daily_idx_170906 on my_log_daily_170906 (cost=3D0.42..8.45 rows=3D1 width=3D4) (actual time=3D0.012..0.013 rows=3D1 loops=3D1) Index Cond: ((msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgid3 =3D 1504712117) AND ((instance)::text =3D 'WS6'::text)) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp withou= t time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone)= ) Buffers: shared hit=3D4 Planning time: 2.501 ms Execution time: 0.042 ms (12 rows) db=3D> explain (ANALYZE,BUFFERS) update my_log_daily_170906 set stage=3Dstage+1 where date1 >=3D '2017-09-06' and date1 < '2017-09-07' and msgid1=3D341425= 3 and msgid2=3D20756 and msgid3=3D1504712117 and instance=3D'WS6'; QUERY PLAN ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= --- Update on my_log_daily_170906 (cost=3D0.42..8.46 rows=3D1 width=3D186) (a= ctual time=3D0.133..0.133 rows=3D0 loops=3D1) Buffers: shared hit=3D5 dirtied=3D1 -> Index Scan using my_log_daily_idx_170906 on my_log_daily_170906 (cost=3D0.42..8.46 rows=3D1 width=3D186) (actual time=3D0.014..0.015 rows= =3D1 loops=3D1) Index Cond: ((msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgi= d3 =3D 1504712117) AND ((instance)::text =3D 'WS6'::text)) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp without time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone)) Buffers: shared hit=3D4 Planning time: 0.488 ms Execution time: 0.177 ms (8 rows) db=3D> explain (ANALYZE,BUFFERS) update my_log_daily set stage=3Dstage+1 where date1 >=3D '2017-09-06' and date1 < '2017-09-07' and msgid1=3D3414253 and msgid2=3D20756 and msgid3=3D1504712117 and instance=3D'WS6'; QUERY PLAN ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------- Update on my_log_daily (cost=3D0.00..8.46 rows=3D2 width=3D587) (actual time=3D0.052..0.052 rows=3D0 loops=3D1) Update on my_log_daily Update on my_log_daily_170906 Buffers: shared hit=3D5 -> Seq Scan on my_log_daily (cost=3D0.00..0.00 rows=3D1 width=3D988) (= actual time=3D0.001..0.001 rows=3D0 loops=3D1) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp without time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone) AND (msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgid3 =3D 1504712117) AND ((instance)::text =3D 'WS6'::text)) -> Index Scan using my_log_daily_idx_170906 on my_log_daily_170906 (cost=3D0.42..8.46 rows=3D1 width=3D186) (actual time=3D0.019..0.020 rows= =3D1 loops=3D1) Index Cond: ((msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgi= d3 =3D 1504712117) AND ((instance)::text =3D 'WS6'::text)) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp without time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone)) Buffers: shared hit=3D4 Planning time: 4.639 ms Execution time: 0.147 ms (12 rows) db=3D> \d my_log_daily Table "public.my_log_daily" Column | Type | Modifiers ------------+-----------------------------+--------------------------------= -------------------- client_id | integer | not null pult | character varying(6) | not null opr | character varying(30) | not null handler | character varying(60) | msgid | integer | sclient_id | integer | stage | integer | default 0 msgid1 | integer | default 0 msgid2 | integer | default 0 msgid3 | integer | default 0 ended | smallint | default 0 date1 | timestamp without time zone | default ('now'::text)::timestamp without time zone date2 | timestamp without time zone | reserved1 | character varying(100) | reserved2 | character varying(100) | reserved3 | character varying(100) | atpco | smallint | not null default 0 rsrvdnum1 | integer | rsrvdnum2 | integer | rsrvdnum3 | integer | instance | character varying(3) | duration | integer | default 0 ip | integer | Triggers: insert_my_log_daily_trigger BEFORE INSERT ON my_log_daily FOR EACH ROW EXECUTE PROCEDURE my_log_daily_insert_trigger() Number of child tables: 40 (Use \d+ to list them.) db=3D> Indexes: "my_log_daily_idx_170906" UNIQUE, btree (msgid1, msgid2, msgid3, instance) "my_log_daily_date_170906" btree (date1) "my_log_daily_handler_170906" btree (handler) "my_log_daily_pult_170906" btree (pult) "my_log_daily_reserved1_170906" btree (reserved1) "my_log_daily_src_170906" btree (client_id, date1) Check constraints: "my_log_daily_170906_date1_check" CHECK (date1 >=3D '2017-09-06 00:00:00'::timestamp without time zone AND date1 < '2017-09-07 00:00:00'::timestamp without time zone) Inherits: my_log_daily db=3D> a complete list of child tables below. table descriptions including CHECK and indexes ( as well as trigger function ) are autogenerated, so there is no human error. ----------------- db=3D> \d+ my_log_daily Table "public.my_log_daily" Column | Type | Modifiers | Storage | Stats target | Description ------------+-----------------------------+--------------------------------= --------------------+----------+--------------+------------- client_id | integer | not null | plain | | pult | character varying(6) | not null | extended | | opr | character varying(30) | not null | extended | | handler | character varying(60) | | extended | | msgid | integer | | plain | | sclient_id | integer | | plain | | stage | integer | default 0 | plain | | msgid1 | integer | default 0 | plain | | msgid2 | integer | default 0 | plain | | msgid3 | integer | default 0 | plain | | ended | smallint | default 0 | plain | | date1 | timestamp without time zone | default ('now'::text)::timestamp without time zone | plain | | date2 | timestamp without time zone | | plain | | reserved1 | character varying(100) | | extended | | reserved2 | character varying(100) | | extended | | reserved3 | character varying(100) | | extended | | atpco | smallint | not null default 0 | plain | | rsrvdnum1 | integer | | plain | | rsrvdnum2 | integer | | plain | | rsrvdnum3 | integer | | plain | | instance | character varying(3) | | extended | | duration | integer | default 0 | plain | | ip | integer | | plain | | Triggers: insert_my_log_daily_trigger BEFORE INSERT ON my_log_daily FOR EACH ROW EXECUTE PROCEDURE my_log_daily_insert_trigger() Child tables: my_log_daily_170901, my_log_daily_170902, my_log_daily_170903, my_log_daily_170904, my_log_daily_170905, my_log_daily_170906, my_log_daily_170907, my_log_daily_170908, my_log_daily_170909, my_log_daily_170910, my_log_daily_170911, my_log_daily_170912, my_log_daily_170913, my_log_daily_170914, my_log_daily_170915, my_log_daily_170916, my_log_daily_170917, my_log_daily_170918, my_log_daily_170919, my_log_daily_170920, my_log_daily_170921, my_log_daily_170922, my_log_daily_170923, my_log_daily_170924, my_log_daily_170925, my_log_daily_170926, my_log_daily_170927, my_log_daily_170928, my_log_daily_170929, my_log_daily_170930, my_log_daily_171001, my_log_daily_171002, my_log_daily_171003, my_log_daily_171004, my_log_daily_171005, my_log_daily_171006, my_log_daily_171007, my_log_daily_171008, my_log_daily_171009, my_log_daily_171010 db=3D> --001a114419f2df079d05589ae81a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdj5IZWxsbyA8YnI+PGJyPlRyeWluZyB0byBzZXR1cCB0YWJsZSBw YXJ0aXRpb25pbmcgSSBub3RpY2VkIHN0cmFuZ2UgYmVoYXZpb3IgdGhhdCBwcmV2ZW50cyBtZSBm cm9tIHVzaW5nIGl0Ljxicj48YnI+SSBzZXQgdXAgbWFzdGVyIGFuZCBjaGlsZCB0YWJsZXMgdmlh IGluaGVyaXRhbmNlLCB3aXRoIHJhbmdlIENIRUNLIGJ5IGRhdGUgYW5kIHdpdGggPGJyPnRyaWdn ZXIgb24gJiMzOTtpbnNlcnQmIzM5OywgYXMgZGVzY3JpYmVkIGluIHRoZSBkb2N1bWVudGF0aW9u Ljxicj48YnI+SSB3YXMgaGFwcHkgd2l0aCBpbnNlcnRpb24gc3BlZWQsIGl0IHdhcyBhYm91dCAz MCBtZWdhYnl0ZXMgcGVyIHNlY29uZCB0aGF0IHdhcyBtb3JlIHRoYW4gSSBleHBlY3RlZCw8YnI+ YW5kIHNlcnZlciBpZGxlIHRpbWUgd2FzIG5lYXIgOTUgJS4gSSB1c2VkIDEwMCBwYXJhbGxlbCBj bGllbnRzLjxicj48YnI+SG93ZXZlciwgd2hlbiBpdCBjYW1lIHRvIHVwZGF0ZXMgdGhpbmdzIHR1 cm5lZCB2ZXJ5IGJhZC48YnI+SSBzZXQgdXAgYSB0ZXN0IHdpdGggMzAgcnVubmluZyBjbGllbnQg bWFraW5nIDEwMDAwIHVwZGF0ZXMgZWFjaCBpbiBhIHJhbmRvbSBmYXNoaW9uLjxicj51cGRhdGVz IHZpYSBtYXN0ZXIgdGFibGUgdG9vayA2IHRpbWVzIGxvbmdlciBhbmQgc2VydmVyIGlkbGUgdGlt ZSBkcm9wcGVkIHRvIDE1JSwgdXNlciBDUFUgNzUlIHdpdGggbG9hZCBhdmVyYWdlIDE1LjwvZGl2 PjxkaXY+PGJyPjwvZGl2PlRlc3QgZGV0YWlscyBiZWxvdyA8YnI+PGRpdj48YnI+PC9kaXY+PGRp dj4zMDAwMDAgdXBkYXRlcyAoIDMwIHByb2Nlc3NlcyAxMDAwMCBzZWxlY3RzIGVhY2gpPC9kaXY+ PGRpdj48YnI+dmlhIG1hc3RlciB0YWJsZSAxMzQgc2Vjb25kczxicj52aWEgY2hpbGQgdGFibGXC oCAyMCBzZWNvbmRzPGJyPjxicj4zMDAwMDAgdXBkYXRlcyB2aWEgbWFzdGVyIHRhYmxlIHdpdGhv dXQgJnF1b3Q7ZGF0ZTEgJmd0Oz0gJiMzOTsyMDE3LTA5LTA2JiMzOTsgYW5kIGRhdGUxICZsdDsg JiMzOTsyMDE3LTA5LTA3JiMzOTsmcXVvdDsgY2xhdXNlIDxicj4xODAgc2Vjb25kczxicj5UaGF0 IG1lYW5zIHRoYXQgY29uc3RyYWludF9leGx1c2lvbiB3b3JrcywgaG93ZXZlciwgdGhlIHByb2Nl c3Mgb2YgZXhjbHVzaW9uIHRha2VzIEEgTE9UIE9GIHRpbWUuPGJyPjxicj5JIHRyaWVkIHRvIHJl cGVhdCB0aGUgdGVzdCB3aXRoIHNlbGVjdHM8YnI+PGJyPjMwMDAwMCBzZWxlY3RzICggMzAgcHJv Y2Vzc2VzIDEwMDAwIHNlbGVjdHMgZWFjaCk8YnI+PGJyPnZpYSBtYXN0ZXIgdGFibGUgNTAgc2Vj b25kczxicj52aWEgY2hpbGQgdGFibGXCoCA4IHNlY29uZHM8YnI+PC9kaXY+PGRpdj48YnI+PC9k aXY+PGRpdj5UaGlzIGlzIHZlcnkgYmFkIHRvby48YnI+PC9kaXY+PGRpdj48YnI+VGhlIGRvY3Vt ZW50YXRpb24gc2F5cyB0aGF0IGl0IGlzIG5vdCBnb29kIHRvIGhhdmUgMTAwMCBwYXJ0aXRpb24s IHByb2JhYmx5IDEwMCBpcyBPSywgYnV0IEkgaGF2ZSBvbmx5IDQwIHBhcnRpdGlvbnM8YnI+YW5k IGhhdmUgbm90aWNlYWJsZSBkZWxheXMgd2l0aCBvbmx5IDUgcGFydGl0aW9ucy4gPGJyPjxicj48 L2Rpdj48ZGl2PldoYXQgSSBhbHNvIGNhbm5vdCB1bmRlcnN0YW5kLCB3aHkgdGltZSBpbmNyZWFz ZSBmb3IgJiMzOTtzZWxlY3QmIzM5OyA8YnI+aXMgbXVjaCBoaWdoZXIgKDIuNSB0aW1lcykgdGhh biB0aW1lIGluY3JlYXNlIGZvciAmIzM5O3VwZGF0ZSYjMzk7LCBjb25zaWRlcmluZyB0aGF0ICYj Mzk7d2hlcmUmIzM5OyBjbGF1c2UgaXMgaWRlbnRpY2FsPGJyPmFuZCBhc3N1bWluZyB0aW1lIGlz IHNwZW50IHNlbGVjdGluZyByZWxldmFudCBjaGlsZCB0YWJsZXMuPGJyPjwvZGl2Pjxicj5CZXN0 IHJlZ2FyZHMsIEtvbnN0YW50aW48ZGl2Pjxicj5FbnZpcm9ubWVudCBkZXNjcmlwdGlvbi48YnI+ PGJyPjxicj5Qb3N0Z3JlcyA5LjUgb24gbGludXg8YnI+PGJyPmRiPSZndDsgc2VsZWN0IHZlcnNp b24oKTs8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZlcnNpb27C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA8YnI+LS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxicj7CoFBvc3RncmVTUUwgOS41 Ljggb24geDg2XzY0LXBjLWxpbnV4LWdudSwgY29tcGlsZWQgYnkgZ2NjIChHQ0MpIDQuOC41IDIw MTUwNjIzIChSZWQgSGF0IDQuOC41LTExKSwgNjQtYml0PGJyPigxIHJvdyk8YnI+ZGI9Jmd0Ozxi cj48YnI+PGJyPjE2IENQVSA8YnI+PGJyPnZlbmRvcl9pZMKgwqDCoCA6IEdlbnVpbmVJbnRlbDxi cj5jcHUgZmFtaWx5wqDCoMKgIDogNjxicj5tb2RlbMKgwqDCoCDCoMKgwqAgOiA0NTxicj5tb2Rl bCBuYW1lwqDCoMKgIDogSW50ZWwoUikgWGVvbihSKSBDUFUgRTUtMjY2MCAwIEAgMi4yMEdIejxi cj48YnI+MTI4R0IgcmFtPGJyPjxicj4zMkdCIHNoYXJlZF9idWZmZXJzPGJyPjxicj48YnI+VGFi bGUgc3RhdGlzdGljczxicj48YnI+ZGI9Jmd0OyBzZWxlY3QgY291bnQoKikgZnJvbSBteV9sb2df ZGFpbHk7PGJyPsKgY291bnTCoCA8YnI+LS0tLS0tLS08YnI+wqA0MDg1Njg8YnI+KDEgcm93KTxi cj48YnI+ZGI9Jmd0OyBzZWxlY3QgY291bnQoKikgZnJvbSBteV9sb2dfZGFpbHlfMTcwOTA2Ozxi cj7CoGNvdW50wqAgPGJyPi0tLS0tLS0tPGJyPsKgNDA4NTY4PGJyPigxIHJvdyk8YnI+PGJyPmRi PSZndDsgPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPGJyPmV4cGxhaW4gKEFOQUxZ WkUsQlVGRkVSUykgc2VsZWN0IHN0YWdlKzEgZnJvbcKgIG15X2xvZ19kYWlseV8xNzA5MDbCoCB3 aGVyZcKgIGRhdGUxICZndDs9ICYjMzk7MjAxNy0wOS0wNiYjMzk7IGFuZCBkYXRlMSAmbHQ7ICYj Mzk7MjAxNy0wOS0wNyYjMzk7IGFuZCBtc2dpZDE9MzQxNDI1MyBhbmQgbXNnaWQyPTIwNzU2IGFu ZCBtc2dpZDM9MTUwNDcxMjExNyBhbmQgaW5zdGFuY2U9JiMzOTtXUzYmIzM5Ozs8YnI+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIFFVRVJZIFBMQU7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA8YnI+LS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxicj7CoEluZGV4IFNjYW4gdXNpbmcgbXlfbG9nX2RhaWx5 X2lkeF8xNzA5MDYgb24gbXlfbG9nX2RhaWx5XzE3MDkwNsKgIChjb3N0PTAuNDIuLjguNDYgcm93 cz0xIHdpZHRoPTQpIChhY3R1YWwgdGltZT0wLjAxMy4uMC4wMTQgcm93cz0xIGxvb3BzPTEpPGJy PsKgwqAgSW5kZXggQ29uZDogKChtc2dpZDEgPSAzNDE0MjUzKSBBTkQgKG1zZ2lkMiA9IDIwNzU2 KSBBTkQgKG1zZ2lkMyA9IDE1MDQ3MTIxMTcpIEFORCAoKGluc3RhbmNlKTo6dGV4dCA9ICYjMzk7 V1M2JiMzOTs6OnRleHQpKTxicj7CoMKgIEZpbHRlcjogKChkYXRlMSAmZ3Q7PSAmIzM5OzIwMTct MDktMDYgMDA6MDA6MDAmIzM5Ozo6dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lKSBBTkQgKGRh dGUxICZsdDsgJiMzOTsyMDE3LTA5LTA3IDAwOjAwOjAwJiMzOTs6OnRpbWVzdGFtcCB3aXRob3V0 IHRpbWUgem9uZSkpPGJyPsKgwqAgQnVmZmVyczogc2hhcmVkIGhpdD00PGJyPsKgUGxhbm5pbmcg dGltZTogMC4xMzUgbXM8YnI+wqBFeGVjdXRpb24gdGltZTogMC4wMjkgbXM8YnI+KDYgcm93cyk8 YnI+PGJyPmRiPSZndDvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA8YnI+PC9kaXY+ PGRpdj48YnI+ZXhwbGFpbiAoQU5BTFlaRSxCVUZGRVJTKSBzZWxlY3Qgc3RhZ2UrMSBmcm9twqAg bXlfbG9nX2RhaWx5wqAgd2hlcmXCoCBkYXRlMSAmZ3Q7PSAmIzM5OzIwMTctMDktMDYmIzM5OyBh bmQgZGF0ZTEgJmx0OyAmIzM5OzIwMTctMDktMDcmIzM5OyBhbmQgbXNnaWQxPTM0MTQyNTMgYW5k IG1zZ2lkMj0yMDc1NiBhbmQgbXNnaWQzPTE1MDQ3MTIxMTcgYW5kIGluc3RhbmNlPSYjMzk7V1M2 JiMzOTs7PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBRVUVSWSBQTEFOwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgPGJyPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+wqBSZXN1bHTCoCAoY29z dD0wLjAwLi44LjQ2IHJvd3M9MiB3aWR0aD00KSAoYWN0dWFsIHRpbWU9MC4wMTYuLjAuMDE3IHJv d3M9MSBsb29wcz0xKTxicj7CoMKgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9NDxicj7CoMKgIC0mZ3Q7 wqAgQXBwZW5kwqAgKGNvc3Q9MC4wMC4uOC40NSByb3dzPTIgd2lkdGg9NCkgKGFjdHVhbCB0aW1l PTAuMDEzLi4wLjAxNCByb3dzPTEgbG9vcHM9MSk8YnI+wqDCoMKgwqDCoMKgwqDCoCBCdWZmZXJz OiBzaGFyZWQgaGl0PTQ8YnI+wqDCoMKgwqDCoMKgwqDCoCAtJmd0O8KgIFNlcSBTY2FuIG9uIG15 X2xvZ19kYWlsecKgIChjb3N0PTAuMDAuLjAuMDAgcm93cz0xIHdpZHRoPTQpIChhY3R1YWwgdGlt ZT0wLjAwMC4uMC4wMDAgcm93cz0wIGxvb3BzPTEpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgRmlsdGVyOiAoKGRhdGUxICZndDs9ICYjMzk7MjAxNy0wOS0wNiAwMDowMDowMCYjMzk7 Ojp0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUpIEFORCAoZGF0ZTEgJmx0OyAmIzM5OzIwMTct MDktMDcgMDA6MDA6MDAmIzM5Ozo6dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lKSBBTkQgKG1z Z2lkMSA9IDM0MTQyNTMpIEFORCAobXNnaWQyID0gMjA3NTYpIEFORCAobXNnaWQzID0gMTUwNDcx MjExNykgQU5EICgoaW5zdGFuY2UpOjp0ZXh0ID0gJiMzOTtXUzYmIzM5Ozo6dGV4dCkpPGJyPsKg wqDCoMKgwqDCoMKgwqAgLSZndDvCoCBJbmRleCBTY2FuIHVzaW5nIG15X2xvZ19kYWlseV9pZHhf MTcwOTA2IG9uIG15X2xvZ19kYWlseV8xNzA5MDbCoCAoY29zdD0wLjQyLi44LjQ1IHJvd3M9MSB3 aWR0aD00KSAoYWN0dWFsIHRpbWU9MC4wMTIuLjAuMDEzIHJvd3M9MSBsb29wcz0xKTxicj7CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEluZGV4IENvbmQ6ICgobXNnaWQxID0gMzQxNDI1Mykg QU5EIChtc2dpZDIgPSAyMDc1NikgQU5EIChtc2dpZDMgPSAxNTA0NzEyMTE3KSBBTkQgKChpbnN0 YW5jZSk6OnRleHQgPSAmIzM5O1dTNiYjMzk7Ojp0ZXh0KSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBGaWx0ZXI6ICgoZGF0ZTEgJmd0Oz0gJiMzOTsyMDE3LTA5LTA2IDAwOjAwOjAw JiMzOTs6OnRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSkgQU5EIChkYXRlMSAmbHQ7ICYjMzk7 MjAxNy0wOS0wNyAwMDowMDowMCYjMzk7Ojp0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUpKTxi cj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9NDxicj7C oFBsYW5uaW5nIHRpbWU6IDIuNTAxIG1zPGJyPsKgRXhlY3V0aW9uIHRpbWU6IDAuMDQyIG1zPGJy PigxMiByb3dzKTxicj48YnI+ZGI9Jmd0OyA8YnI+PGJyPmV4cGxhaW4gKEFOQUxZWkUsQlVGRkVS UykgdXBkYXRlwqAgbXlfbG9nX2RhaWx5XzE3MDkwNiBzZXQgc3RhZ2U9c3RhZ2UrMSB3aGVyZcKg IGRhdGUxICZndDs9ICYjMzk7MjAxNy0wOS0wNiYjMzk7IGFuZCBkYXRlMSAmbHQ7ICYjMzk7MjAx Ny0wOS0wNyYjMzk7IGFuZCBtc2dpZDE9MzQxNDI1MyBhbmQgbXNnaWQyPTIwNzU2IGFuZCBtc2dp ZDM9MTUwNDcxMjExNyBhbmQgaW5zdGFuY2U9JiMzOTtXUzYmIzM5Ozs8YnI+wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgUVVFUlkgUExBTsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPGJy Pi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxicj7CoFVwZGF0ZSBvbiBt eV9sb2dfZGFpbHlfMTcwOTA2wqAgKGNvc3Q9MC40Mi4uOC40NiByb3dzPTEgd2lkdGg9MTg2KSAo YWN0dWFsIHRpbWU9MC4xMzMuLjAuMTMzIHJvd3M9MCBsb29wcz0xKTxicj7CoMKgIEJ1ZmZlcnM6 IHNoYXJlZCBoaXQ9NSBkaXJ0aWVkPTE8YnI+wqDCoCAtJmd0O8KgIEluZGV4IFNjYW4gdXNpbmcg bXlfbG9nX2RhaWx5X2lkeF8xNzA5MDYgb24gbXlfbG9nX2RhaWx5XzE3MDkwNsKgIChjb3N0PTAu NDIuLjguNDYgcm93cz0xIHdpZHRoPTE4NikgKGFjdHVhbCB0aW1lPTAuMDE0Li4wLjAxNSByb3dz PTEgbG9vcHM9MSk8YnI+wqDCoMKgwqDCoMKgwqDCoCBJbmRleCBDb25kOiAoKG1zZ2lkMSA9IDM0 MTQyNTMpIEFORCAobXNnaWQyID0gMjA3NTYpIEFORCAobXNnaWQzID0gMTUwNDcxMjExNykgQU5E ICgoaW5zdGFuY2UpOjp0ZXh0ID0gJiMzOTtXUzYmIzM5Ozo6dGV4dCkpPGJyPsKgwqDCoMKgwqDC oMKgwqAgRmlsdGVyOiAoKGRhdGUxICZndDs9ICYjMzk7MjAxNy0wOS0wNiAwMDowMDowMCYjMzk7 Ojp0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUpIEFORCAoZGF0ZTEgJmx0OyAmIzM5OzIwMTct MDktMDcgMDA6MDA6MDAmIzM5Ozo6dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lKSk8YnI+wqDC oMKgwqDCoMKgwqDCoCBCdWZmZXJzOiBzaGFyZWQgaGl0PTQ8YnI+wqBQbGFubmluZyB0aW1lOiAw LjQ4OCBtczxicj7CoEV4ZWN1dGlvbiB0aW1lOiAwLjE3NyBtczxicj4oOCByb3dzKTxicj48YnI+ ZGI9Jmd0OyA8YnI+ZXhwbGFpbiAoQU5BTFlaRSxCVUZGRVJTKSB1cGRhdGXCoCBteV9sb2dfZGFp bHkgc2V0IHN0YWdlPXN0YWdlKzEgd2hlcmXCoCBkYXRlMSAmZ3Q7PSAmIzM5OzIwMTctMDktMDYm IzM5OyBhbmQgZGF0ZTEgJmx0OyAmIzM5OzIwMTctMDktMDcmIzM5OyBhbmQgbXNnaWQxPTM0MTQy NTMgYW5kIG1zZ2lkMj0yMDc1NiBhbmQgbXNnaWQzPTE1MDQ3MTIxMTcgYW5kIGluc3RhbmNlPSYj Mzk7V1M2JiMzOTs7PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBRVUVSWSBQTEFOwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPGJy Pi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+wqBVcGRhdGUgb24gbXlfbG9nX2RhaWx5wqAg KGNvc3Q9MC4wMC4uOC40NiByb3dzPTIgd2lkdGg9NTg3KSAoYWN0dWFsIHRpbWU9MC4wNTIuLjAu MDUyIHJvd3M9MCBsb29wcz0xKTxicj7CoMKgIFVwZGF0ZSBvbiBteV9sb2dfZGFpbHk8YnI+wqDC oCBVcGRhdGUgb24gbXlfbG9nX2RhaWx5XzE3MDkwNjxicj7CoMKgIEJ1ZmZlcnM6IHNoYXJlZCBo aXQ9NTxicj7CoMKgIC0mZ3Q7wqAgU2VxIFNjYW4gb24gbXlfbG9nX2RhaWx5wqAgKGNvc3Q9MC4w MC4uMC4wMCByb3dzPTEgd2lkdGg9OTg4KSAoYWN0dWFsIHRpbWU9MC4wMDEuLjAuMDAxIHJvd3M9 MCBsb29wcz0xKTxicj7CoMKgwqDCoMKgwqDCoMKgIEZpbHRlcjogKChkYXRlMSAmZ3Q7PSAmIzM5 OzIwMTctMDktMDYgMDA6MDA6MDAmIzM5Ozo6dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lKSBB TkQgKGRhdGUxICZsdDsgJiMzOTsyMDE3LTA5LTA3IDAwOjAwOjAwJiMzOTs6OnRpbWVzdGFtcCB3 aXRob3V0IHRpbWUgem9uZSkgQU5EIChtc2dpZDEgPSAzNDE0MjUzKSBBTkQgKG1zZ2lkMiA9IDIw NzU2KSBBTkQgKG1zZ2lkMyA9IDE1MDQ3MTIxMTcpIEFORCAoKGluc3RhbmNlKTo6dGV4dCA9ICYj Mzk7V1M2JiMzOTs6OnRleHQpKTxicj7CoMKgIC0mZ3Q7wqAgSW5kZXggU2NhbiB1c2luZyBteV9s b2dfZGFpbHlfaWR4XzE3MDkwNiBvbiBteV9sb2dfZGFpbHlfMTcwOTA2wqAgKGNvc3Q9MC40Mi4u OC40NiByb3dzPTEgd2lkdGg9MTg2KSAoYWN0dWFsIHRpbWU9MC4wMTkuLjAuMDIwIHJvd3M9MSBs b29wcz0xKTxicj7CoMKgwqDCoMKgwqDCoMKgIEluZGV4IENvbmQ6ICgobXNnaWQxID0gMzQxNDI1 MykgQU5EIChtc2dpZDIgPSAyMDc1NikgQU5EIChtc2dpZDMgPSAxNTA0NzEyMTE3KSBBTkQgKChp bnN0YW5jZSk6OnRleHQgPSAmIzM5O1dTNiYjMzk7Ojp0ZXh0KSk8YnI+wqDCoMKgwqDCoMKgwqDC oCBGaWx0ZXI6ICgoZGF0ZTEgJmd0Oz0gJiMzOTsyMDE3LTA5LTA2IDAwOjAwOjAwJiMzOTs6OnRp bWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSkgQU5EIChkYXRlMSAmbHQ7ICYjMzk7MjAxNy0wOS0w NyAwMDowMDowMCYjMzk7Ojp0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUpKTxicj7CoMKgwqDC oMKgwqDCoMKgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9NDxicj7CoFBsYW5uaW5nIHRpbWU6IDQuNjM5 IG1zPGJyPsKgRXhlY3V0aW9uIHRpbWU6IDAuMTQ3IG1zPGJyPigxMiByb3dzKTxicj48YnI+PGJy PmRiPSZndDsgXGQgbXlfbG9nX2RhaWx5PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgVGFibGUgJnF1b3Q7cHVibGljLm15 X2xvZ19kYWlseSZxdW90Ozxicj7CoMKgIENvbHVtbsKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgVHlwZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBNb2RpZmllcnPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgPGJyPi0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJy PsKgY2xpZW50X2lkwqAgfCBpbnRlZ2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8IG5vdCBudWxsPGJyPsKgcHVsdMKgwqDCoMKgwqDCoCB8IGNoYXJhY3RlciB2YXJ5 aW5nKDYpwqDCoMKgwqDCoMKgwqAgfCBub3QgbnVsbDxicj7CoG9wcsKgwqDCoMKgwqDCoMKgIHwg Y2hhcmFjdGVyIHZhcnlpbmcoMzApwqDCoMKgwqDCoMKgIHwgbm90IG51bGw8YnI+wqBoYW5kbGVy wqDCoMKgIHwgY2hhcmFjdGVyIHZhcnlpbmcoNjApwqDCoMKgwqDCoMKgIHwgPGJyPsKgbXNnaWTC oMKgwqDCoMKgIHwgaW50ZWdlcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA8YnI+wqBzY2xpZW50X2lkIHwgaW50ZWdlcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCA8YnI+wqBzdGFnZcKgwqDCoMKgwqAgfCBpbnRlZ2VywqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGRlZmF1bHQgMDxicj7CoG1zZ2lkMcKg wqDCoMKgIHwgaW50ZWdlcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCBkZWZhdWx0IDA8YnI+wqBtc2dpZDLCoMKgwqDCoCB8IGludGVnZXLCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgZGVmYXVsdCAwPGJyPsKgbXNnaWQzwqDCoMKgwqAg fCBpbnRlZ2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGRlZmF1 bHQgMDxicj7CoGVuZGVkwqDCoMKgwqDCoCB8IHNtYWxsaW50wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCBkZWZhdWx0IDA8YnI+wqBkYXRlMcKgwqDCoMKgwqAgfCB0aW1l c3RhbXAgd2l0aG91dCB0aW1lIHpvbmUgfCBkZWZhdWx0ICgmIzM5O25vdyYjMzk7Ojp0ZXh0KTo6 dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lPGJyPsKgZGF0ZTLCoMKgwqDCoMKgIHwgdGltZXN0 YW1wIHdpdGhvdXQgdGltZSB6b25lIHwgPGJyPsKgcmVzZXJ2ZWQxwqAgfCBjaGFyYWN0ZXIgdmFy eWluZygxMDApwqDCoMKgwqDCoCB8IDxicj7CoHJlc2VydmVkMsKgIHwgY2hhcmFjdGVyIHZhcnlp bmcoMTAwKcKgwqDCoMKgwqAgfCA8YnI+wqByZXNlcnZlZDPCoCB8IGNoYXJhY3RlciB2YXJ5aW5n KDEwMCnCoMKgwqDCoMKgIHwgPGJyPsKgYXRwY2/CoMKgwqDCoMKgIHwgc21hbGxpbnTCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IG5vdCBudWxsIGRlZmF1bHQgMDxicj7C oHJzcnZkbnVtMcKgIHwgaW50ZWdlcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA8YnI+wqByc3J2ZG51bTLCoCB8IGludGVnZXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgPGJyPsKgcnNydmRudW0zwqAgfCBpbnRlZ2VywqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDxicj7CoGluc3RhbmNlwqDCoCB8IGNo YXJhY3RlciB2YXJ5aW5nKDMpwqDCoMKgwqDCoMKgwqAgfCA8YnI+wqBkdXJhdGlvbsKgwqAgfCBp bnRlZ2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGRlZmF1bHQg MDxicj7CoGlwwqDCoMKgwqDCoMKgwqDCoCB8IGludGVnZXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgPGJyPlRyaWdnZXJzOjxicj7CoMKgwqAgaW5zZXJ0X215X2xv Z19kYWlseV90cmlnZ2VyIEJFRk9SRSBJTlNFUlQgT04gbXlfbG9nX2RhaWx5IEZPUiBFQUNIIFJP VyBFWEVDVVRFIFBST0NFRFVSRSBteV9sb2dfZGFpbHlfaW5zZXJ0X3RyaWdnZXIoKTxicj5OdW1i ZXIgb2YgY2hpbGQgdGFibGVzOiA0MCAoVXNlIFxkKyB0byBsaXN0IHRoZW0uKTxicj48YnI+ZGI9 Jmd0OyA8YnI+PGJyPkluZGV4ZXM6PGJyPsKgwqDCoCAmcXVvdDtteV9sb2dfZGFpbHlfaWR4XzE3 MDkwNiZxdW90OyBVTklRVUUsIGJ0cmVlIChtc2dpZDEsIG1zZ2lkMiwgbXNnaWQzLCBpbnN0YW5j ZSk8YnI+wqDCoMKgICZxdW90O215X2xvZ19kYWlseV9kYXRlXzE3MDkwNiZxdW90OyBidHJlZSAo ZGF0ZTEpPGJyPsKgwqDCoCAmcXVvdDtteV9sb2dfZGFpbHlfaGFuZGxlcl8xNzA5MDYmcXVvdDsg YnRyZWUgKGhhbmRsZXIpPGJyPsKgwqDCoCAmcXVvdDtteV9sb2dfZGFpbHlfcHVsdF8xNzA5MDYm cXVvdDsgYnRyZWUgKHB1bHQpPGJyPsKgwqDCoCAmcXVvdDtteV9sb2dfZGFpbHlfcmVzZXJ2ZWQx XzE3MDkwNiZxdW90OyBidHJlZSAocmVzZXJ2ZWQxKTxicj7CoMKgwqAgJnF1b3Q7bXlfbG9nX2Rh aWx5X3NyY18xNzA5MDYmcXVvdDsgYnRyZWUgKGNsaWVudF9pZCwgZGF0ZTEpPGJyPkNoZWNrIGNv bnN0cmFpbnRzOjxicj7CoMKgwqAgJnF1b3Q7bXlfbG9nX2RhaWx5XzE3MDkwNl9kYXRlMV9jaGVj ayZxdW90OyBDSEVDSyAoZGF0ZTEgJmd0Oz0gJiMzOTsyMDE3LTA5LTA2IDAwOjAwOjAwJiMzOTs6 OnRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSBBTkQgZGF0ZTEgJmx0OyAmIzM5OzIwMTctMDkt MDcgMDA6MDA6MDAmIzM5Ozo6dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lKTxicj5Jbmhlcml0 czogbXlfbG9nX2RhaWx5PGJyPjxicj5kYj0mZ3Q7IDxicj48YnI+PGJyPjxicj5hIGNvbXBsZXRl IMKgbGlzdCBvZiBjaGlsZCB0YWJsZXMgYmVsb3cuPGJyPnRhYmxlIGRlc2NyaXB0aW9ucyBpbmNs dWRpbmcgQ0hFQ0sgYW5kIGluZGV4ZXMgKCBhcyB3ZWxsIGFzIHRyaWdnZXIgZnVuY3Rpb24gKSBh cmUgYXV0b2dlbmVyYXRlZCwgc28gdGhlcmUgaXMgbm8gaHVtYW4gZXJyb3IuPGJyPjxicj48YnI+ LS0tLS0tLS0tLS0tLS0tLS08YnI+ZGI9Jmd0OyBcZCsgbXlfbG9nX2RhaWx5PGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFRhYmxlICZxdW90O3B1Ymxp Yy5teV9sb2dfZGFpbHkmcXVvdDs8YnI+wqDCoCBDb2x1bW7CoMKgIHzCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIFR5cGXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgTW9kaWZpZXJzwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgU3RvcmFnZcKgIHwgU3RhdHMgdGFyZ2V0IHwgRGVzY3JpcHRpb24g PGJyPi0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLTxicj7CoGNsaWVudF9pZMKgIHwgaW50ZWdlcsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBub3QgbnVsbMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IHBsYWluwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IDxicj7CoHB1bHTCoMKgwqDCoMKgwqAgfCBjaGFyYWN0ZXIgdmFyeWluZyg2KcKgwqDCoMKg wqDCoMKgIHwgbm90IG51bGzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBleHRlbmRlZCB8 wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA8YnI+wqBvcHLCoMKgwqDCoMKgwqDCoCB8IGNo YXJhY3RlciB2YXJ5aW5nKDMwKcKgwqDCoMKgwqDCoCB8IG5vdCBudWxswqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgZXh0ZW5kZWQgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgPGJy PsKgaGFuZGxlcsKgwqDCoCB8IGNoYXJhY3RlciB2YXJ5aW5nKDYwKcKgwqDCoMKgwqDCoCB8wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgZXh0ZW5kZWQgfMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgPGJyPsKgbXNnaWTCoMKgwqDCoMKgIHwgaW50ZWdl csKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IHBsYWluwqDCoMKgIHzCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDxicj7CoHNjbGllbnRfaWQgfCBpbnRlZ2VywqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgcGxhaW7CoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgPGJyPsKgc3RhZ2XCoMKgwqDCoMKgIHwgaW50ZWdlcsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBkZWZhdWx0IDDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHwgcGxhaW7CoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgPGJyPsKgbXNnaWQx wqDCoMKgwqAgfCBpbnRlZ2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IGRlZmF1bHQgMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBwbGFpbsKgwqDCoCB8wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA8YnI+wqBtc2dpZDLCoMKgwqDCoCB8IGludGVnZXLC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgZGVmYXVsdCAwwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IHBsYWluwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IDxicj7CoG1zZ2lkM8KgwqDCoMKgIHwgaW50ZWdlcsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBkZWZhdWx0IDDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHwgcGxhaW7CoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgPGJyPsKgZW5kZWTC oMKgwqDCoMKgIHwgc21hbGxpbnTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IGRlZmF1bHQgMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBwbGFpbsKgwqDCoCB8wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA8YnI+wqBkYXRlMcKgwqDCoMKgwqAgfCB0aW1lc3Rh bXAgd2l0aG91dCB0aW1lIHpvbmUgfCBkZWZhdWx0ICgmIzM5O25vdyYjMzk7Ojp0ZXh0KTo6dGlt ZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lIHwgcGxhaW7CoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgPGJyPsKgZGF0ZTLCoMKgwqDCoMKgIHwgdGltZXN0YW1wIHdpdGhvdXQgdGlt ZSB6b25lIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBw bGFpbsKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA8YnI+wqByZXNlcnZlZDHC oCB8IGNoYXJhY3RlciB2YXJ5aW5nKDEwMCnCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBleHRlbmRlZCB8wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCA8YnI+wqByZXNlcnZlZDLCoCB8IGNoYXJhY3RlciB2YXJ5aW5nKDEwMCnCoMKg wqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBl eHRlbmRlZCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA8YnI+wqByZXNlcnZlZDPCoCB8 IGNoYXJhY3RlciB2YXJ5aW5nKDEwMCnCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBleHRlbmRlZCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfCA8YnI+wqBhdHBjb8KgwqDCoMKgwqAgfCBzbWFsbGludMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgbm90IG51bGwgZGVmYXVsdCAwwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IHBsYWlu wqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDxicj7CoHJzcnZkbnVtMcKgIHwg aW50ZWdlcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IHBsYWluwqDCoMKgIHzCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDxicj7CoHJzcnZkbnVtMsKgIHwgaW50ZWdlcsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IHBsYWluwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDxicj7CoHJzcnZkbnVtM8KgIHwgaW50ZWdlcsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IHBsYWluwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 IDxicj7CoGluc3RhbmNlwqDCoCB8IGNoYXJhY3RlciB2YXJ5aW5nKDMpwqDCoMKgwqDCoMKgwqAg fMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGV4dGVuZGVk IHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDxicj7CoGR1cmF0aW9uwqDCoCB8IGludGVn ZXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgZGVmYXVsdCAwwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IHBsYWluwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8IDxicj7CoGlwwqDCoMKgwqDCoMKgwqDCoCB8IGludGVnZXLCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCBwbGFpbsKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA8YnI+VHJpZ2dlcnM6PGJyPsKgwqDCoCBpbnNlcnRfbXlfbG9nX2RhaWx5X3RyaWdnZXIg QkVGT1JFIElOU0VSVCBPTiBteV9sb2dfZGFpbHkgRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VE VVJFIG15X2xvZ19kYWlseV9pbnNlcnRfdHJpZ2dlcigpPGJyPkNoaWxkIHRhYmxlczogbXlfbG9n X2RhaWx5XzE3MDkwMSw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5 XzE3MDkwMiw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkw Myw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkwNCw8YnI+ wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkwNSw8YnI+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkwNiw8YnI+wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkwNyw8YnI+wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkwOCw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgbXlfbG9nX2RhaWx5XzE3MDkwOSw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlf bG9nX2RhaWx5XzE3MDkxMCw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2Rh aWx5XzE3MDkxMSw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3 MDkxMiw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkxMyw8 YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkxNCw8YnI+wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkxNSw8YnI+wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkxNiw8YnI+wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkxNyw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkxOCw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg bXlfbG9nX2RhaWx5XzE3MDkxOSw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9n X2RhaWx5XzE3MDkyMCw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5 XzE3MDkyMSw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDky Miw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkyMyw8YnI+ wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkyNCw8YnI+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkyNSw8YnI+wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkyNiw8YnI+wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MDkyNyw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgbXlfbG9nX2RhaWx5XzE3MDkyOCw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlf bG9nX2RhaWx5XzE3MDkyOSw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2Rh aWx5XzE3MDkzMCw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3 MTAwMSw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MTAwMiw8 YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MTAwMyw8YnI+wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MTAwNCw8YnI+wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MTAwNSw8YnI+wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5XzE3MTAwNiw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgbXlfbG9nX2RhaWx5XzE3MTAwNyw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg bXlfbG9nX2RhaWx5XzE3MTAwOCw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9n X2RhaWx5XzE3MTAwOSw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXlfbG9nX2RhaWx5 XzE3MTAxMDxicj48YnI+ZGI9Jmd0OyA8YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjwv ZGl2PjwvZGl2Pg0K --001a114419f2df079d05589ae81a--