Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vux2L-00EI7o-2j for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Feb 2026 18:21:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vux2K-002pwV-2c for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Feb 2026 18:21:32 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vux2J-002pwN-1H for pgsql-hackers@lists.postgresql.org; Tue, 24 Feb 2026 18:21:32 +0000 Received: from fhigh-b8-smtp.messagingengine.com ([202.12.124.159]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vux2F-00000000ztw-3hzv for pgsql-hackers@postgresql.org; Tue, 24 Feb 2026 18:21:30 +0000 Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45]) by mailfhigh.stl.internal (Postfix) with ESMTP id 9F5987A0228 for ; Tue, 24 Feb 2026 13:21:27 -0500 (EST) Received: from phl-imap-03 ([10.202.2.93]) by phl-compute-05.internal (MEProxy); Tue, 24 Feb 2026 13:21:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=compiler.org; h= cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm3; t=1771957287; x=1772043687; bh=c6Sfyw5aItKyGw3ZIZVnInBld0wX0v4r +iifna+uvn0=; b=sIGsHBdvopEuZoEJvQLIr1JkjBru4w5IWu0U+O+Zj/vGIZNE HxzapQZ2KKex+nmQE7CHwCAuGtqvuXJkkbMzICFUU0WwOzs8oQMp+P0jpCdawnhf h+dYOYc9xNQ2e4wmocJVGc2IXoas12P/FXKQv4cOZBcif6oW7XGrTfXAJpOYym9V U9lDXi9jwNyF0dkg3F/9wnN4BRM2HZ32FiQFczRio6OFfNfe/ZcLU7FuAGFRZz7s qmKw/E2iUB0bOyaf0aQ7C8HynSBiXuDjRixb0OoB/JYvConVpekF4RxvZiNnhrZ5 1jBBARNbU8xUp/tjqKkZfOiuzJW2R5y5FKsWCA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1771957287; x= 1772043687; bh=c6Sfyw5aItKyGw3ZIZVnInBld0wX0v4r+iifna+uvn0=; b=P 97SyGstOYBTnl2DiMppO4OnYYEVFlUIpFnt2izb6d9uC0wxVuuAwJHoEZJRnoz1a FU6tzWOpGvt9AfXvWlour/LZkYYnDQ8tCFZecYkCwQDUzpxtqTpQKJwl8/MICplC LBTFhlDEjZagB3ODaGHK/cxlwY78QjVBgBXDEVOKoR1BFEeOlJPK/Jzn700drhWP tubb4wpSw5HQ8O3gPL/BwcJETvCkHuiGMTpUpWbbOLVbxawVNHMAyuTgHH0jVe6U 1P87bOE/hplPkOnRDC5nEDtzaJvJPZh5sRYdtmDNzkZTOnz1Wv5vDip7IfKvcOtx Xku+cZCM1I65aed57Cuzw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvgedtkeekucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefoggffhffvkffutgesmhdtreerredttd enucfhrhhomhepfdflohgvlhculfgrtghosghsohhnfdcuoehjohgvlhestghomhhpihhl vghrrdhorhhgqeenucggtffrrghtthgvrhhnpedujefffeekhffhudffvdetvdetkeetle ekgfekleeijedutdehieehudduieeufeenucevlhhushhtvghrufhiiigvpedtnecurfgr rhgrmhepmhgrihhlfhhrohhmpehjohgvlhestghomhhpihhlvghrrdhorhhgpdhnsggprh gtphhtthhopedupdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehpghhsqhhlqdhh rggtkhgvrhhssehpohhsthhgrhgvshhqlhdrohhrgh X-ME-Proxy: Feedback-ID: ic6394509:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 0ADE018E0071; Tue, 24 Feb 2026 13:21:27 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 Date: Tue, 24 Feb 2026 19:21:06 +0100 From: "Joel Jacobson" To: pgsql-hackers Message-Id: <341b723c-da45-4058-9446-1514dedb17c1@app.fastmail.com> Subject: [BUG?] estimate_hash_bucket_stats uses wrong ndistinct for avgfreq Content-Type: multipart/mixed; boundary=09ff2fd1700c447194965133fa831eb0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --09ff2fd1700c447194965133fa831eb0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi hackers, I think I might have stumbled upon a planner bug in src/backend/utils/adt/selfuncs.c, while working on something else. I've traced it down to bd3e3e9 (Ensure sanity of hash-join costing when there are no MCV statistics.) that added a fallback to compute mcv_freq, which surfaced an existing bug, due to a branch that was not taken when mcv_freq was zero. if (avgfreq > 0.0 && *mcv_freq > avgfreq) estfract *= *mcv_freq / avgfreq; Here, since this expression is a ratio, it seems important that both the numerator and divisor are of the same base dimension. mcv_freq is [freq of most common values in filtered relation] However, avgfreq is currently [avg freq of all distinct data values in raw relation]: /* Compute avg freq of all distinct data values in raw relation */ avgfreq = (1.0 - stanullfrac) / ndistinct; After avgfreq has been assigned, ndistinct is then adjusted, to account for restriction clauses: if (vardata.rel && vardata.rel->tuples > 0) { ndistinct *= vardata.rel->rows / vardata.rel->tuples; ndistinct = clamp_row_est(ndistinct); } The expression further down estfract *= *mcv_freq / avgfreq; therefore divides two frequencies of different bases, when I think they should be of the same base. If we simply move the computation of avgfreq to after the adjustment of ndistinct, avgfreq will be of the same base as mcv_freq. This bug seems to sometimes cause the wrong table, the larger table, to be hashed in a Hash Join, and the smaller table to be used for probing. Here is a demo: CREATE TABLE orders ( order_id bigint NOT NULL, tracking_code bigint, region int NOT NULL, status text NOT NULL, order_data text ); CREATE TABLE shipments ( shipment_id bigint NOT NULL, tracking_code bigint NOT NULL, carrier text NOT NULL, ship_data text ); INSERT INTO orders (order_id, tracking_code, region, status, order_data) SELECT g, CASE WHEN g <= 150000 THEN g ELSE NULL END, (g % 1000) + 1, CASE WHEN g <= 150000 THEN 'shipped' ELSE 'pending' END, 'order-' || g FROM generate_series(1, 200000) g; INSERT INTO shipments (shipment_id, tracking_code, carrier, ship_data) SELECT g, g, CASE (g % 3) WHEN 0 THEN 'FedEx' WHEN 1 THEN 'UPS' ELSE 'DHL' END, repeat('x', 200) || g::text FROM generate_series(1, 150000) g; CREATE INDEX ON orders (region); ANALYZE orders; ANALYZE shipments; EXPLAIN ANALYZE SELECT o.order_id, o.tracking_code, s.carrier, s.ship_data FROM orders o JOIN shipments s ON s.tracking_code = o.tracking_code WHERE o.region = 42; master (65707ed): QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------- Gather (cost=9138.25..14237.55 rows=149 width=229) (actual time=70.984..78.977 rows=150.00 loops=1) Workers Planned: 1 Workers Launched: 1 Buffers: shared hit=6557, temp read=3987 written=4068 -> Parallel Hash Join (cost=8138.25..13222.65 rows=88 width=229) (actual time=68.237..75.806 rows=75.00 loops=2) Hash Cond: (o.tracking_code = s.tracking_code) Buffers: shared hit=6557, temp read=3987 written=4068 -> Parallel Seq Scan on orders o (cost=0.00..3188.59 rows=117 width=16) (actual time=0.076..12.053 rows=100.00 loops=2) Filter: (region = 42) Rows Removed by Filter: 99900 Buffers: shared hit=1718 -> Parallel Hash (cost=5464.00..5464.00 rows=62500 width=221) (actual time=53.216..53.217 rows=75000.00 loops=2) Buckets: 32768 Batches: 8 Memory Usage: 5120kB Buffers: shared hit=4839, temp written=4004 -> Parallel Seq Scan on shipments s (cost=0.00..5464.00 rows=62500 width=221) (actual time=0.009..16.114 rows=75000.00 loops=2) Buffers: shared hit=4839 Planning: Buffers: shared hit=86 read=1 Planning Time: 0.350 ms Execution Time: 79.011 ms 0001-Fix-estimate_hash_bucket_stats-to-use-filtered-ndist.patch: QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------- Gather (cost=1578.75..7292.64 rows=149 width=229) (actual time=0.521..15.592 rows=150.00 loops=1) Workers Planned: 2 Workers Launched: 2 Buffers: shared hit=5447 read=3 -> Hash Join (cost=578.75..6277.74 rows=62 width=229) (actual time=0.667..12.342 rows=50.00 loops=3) Hash Cond: (s.tracking_code = o.tracking_code) Buffers: shared hit=5447 read=3 -> Parallel Seq Scan on shipments s (cost=0.00..5464.00 rows=62500 width=221) (actual time=0.006..5.581 rows=50000.00 loops=3) Buffers: shared hit=4839 -> Hash (cost=576.26..576.26 rows=199 width=16) (actual time=0.429..0.429 rows=150.00 loops=3) Buckets: 1024 Batches: 1 Memory Usage: 16kB Buffers: shared hit=608 read=3 -> Bitmap Heap Scan on orders o (cost=5.84..576.26 rows=199 width=16) (actual time=0.083..0.396 rows=200.00 loops=3) Recheck Cond: (region = 42) Heap Blocks: exact=200 Buffers: shared hit=608 read=3 -> Bitmap Index Scan on orders_region_idx (cost=0.00..5.79 rows=199 width=0) (actual time=0.039..0.039 rows=200.00 loops=3) Index Cond: (region = 42) Index Searches: 3 Buffers: shared hit=8 read=3 Planning: Buffers: shared hit=86 read=1 Planning Time: 0.371 ms Execution Time: 15.634 ms The fix causes quite a lot of plans in src/test/regress/expected/partition_join.out to change, which makes me a bit worried I might have misunderstood something here. I haven't verified if all the new plans are improvements, I just copied the result file to the expected dir. /Joel --09ff2fd1700c447194965133fa831eb0 Content-Disposition: attachment; filename*0="0001-Fix-estimate_hash_bucket_stats-to-use-filtered-ndist.pat"; filename*1="ch" Content-Type: application/octet-stream; name="=?UTF-8?Q?0001-Fix-estimate=5Fhash=5Fbucket=5Fstats-to-use-filtered-ndis?= =?UTF-8?Q?t.patch?=" Content-Transfer-Encoding: base64 RnJvbSBmYzFmNjU5NzU1OTQzNTMwYTFmZTgxNzNjNzA3YWNmMjY3YWI0YzAxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2VsIEphY29ic29uIDxqb2VsQGNvbXBpbGVyLm9y Zz4KRGF0ZTogVHVlLCAyNCBGZWIgMjAyNiAxODo1MTowNiArMDEwMApTdWJqZWN0OiBbUEFU Q0hdIEZpeCBlc3RpbWF0ZV9oYXNoX2J1Y2tldF9zdGF0cyB0byB1c2UgZmlsdGVyZWQgbmRp c3RpbmN0CgphdmdmcmVxIHdhcyBjb21wdXRlZCBmcm9tIHJhdyBuZGlzdGluY3QgKGJlZm9y ZSB0aGUgZmlsdGVyaW5nCmFkanVzdG1lbnQpLCBidXQgbWN2X2ZyZXEgdXNlcyB0aGUgZmls dGVyZWQgcmVsYXRpb24ncyByb3cKY291bnQuICBTaW5jZSB0aGUgc2tldyByYXRpbyBtY3Zf ZnJlcSAvIGF2Z2ZyZXEgaXMgc3VwcG9zZWQKdG8gZGl2aWRlIHR3byB2YWx1ZXMgb2YgdGhl IHNhbWUgZGltZW5zaW9uLCB0aGlzIGNhdXNlZCB0aGUKcmF0aW8gdG8gbWVhc3VyZSAxL3Nl bGVjdGl2aXR5IHJhdGhlciB0aGFuIGFjdHVhbCBza2V3LgoKVGhpcyB3YXMgZXhwb3NlZCBi eSBiZDNlM2U5ZTU2OCB3aGljaCBhZGRlZCBhIGZhbGxiYWNrIHRvCmNvbXB1dGUgbWN2X2Zy ZXEgd2hlbiBubyBNQ1Ygc3RhdGlzdGljcyBleGlzdCwgc3VyZmFjaW5nIGFuCmV4aXN0aW5n IGJ1ZyBpbiBhIGJyYW5jaCB0aGF0IHdhcyBub3QgdGFrZW4gd2hlbiBtY3ZfZnJlcQp3YXMg emVyby4KCkZpeCBieSBtb3ZpbmcgdGhlIGNvbXB1dGF0aW9uIG9mIGF2Z2ZyZXEgdG8gYWZ0 ZXIgdGhlCm5kaXN0aW5jdCBmaWx0ZXJpbmcgYWRqdXN0bWVudCwgc28gYXZnZnJlcSBpcyBv ZiB0aGUgc2FtZQpiYXNlIGRpbWVuc2lvbiBhcyBtY3ZfZnJlcS4KLS0tCiBzcmMvYmFja2Vu ZC91dGlscy9hZHQvc2VsZnVuY3MuYyAgICAgICAgICAgICB8ICAgNiArLQogc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9qb2luLm91dCAgICAgICAgICAgfCAgMjAgKy0KIHNyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX2pvaW4ub3V0IHwgNDMyICsrKysrKysrKyst LS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjMxIGluc2VydGlvbnMoKyksIDIyNyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvc2VsZnVuY3Mu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9zZWxmdW5jcy5jCmluZGV4IDI5ZmVjNjU1NTkz Li5kMTljNGI1ZDk2OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3NlbGZ1 bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3NlbGZ1bmNzLmMKQEAgLTQ0NTYs OSArNDQ1Niw2IEBAIGVzdGltYXRlX2hhc2hfYnVja2V0X3N0YXRzKFBsYW5uZXJJbmZvICpy b290LCBOb2RlICpoYXNoa2V5LCBkb3VibGUgbmJ1Y2tldHMsCiAJZWxzZQogCQlzdGFudWxs ZnJhYyA9IDAuMDsKIAotCS8qIENvbXB1dGUgYXZnIGZyZXEgb2YgYWxsIGRpc3RpbmN0IGRh dGEgdmFsdWVzIGluIHJhdyByZWxhdGlvbiAqLwotCWF2Z2ZyZXEgPSAoMS4wIC0gc3RhbnVs bGZyYWMpIC8gbmRpc3RpbmN0OwotCiAJLyoKIAkgKiBBZGp1c3QgbmRpc3RpbmN0IHRvIGFj Y291bnQgZm9yIHJlc3RyaWN0aW9uIGNsYXVzZXMuICBPYnNlcnZlIHdlIGFyZQogCSAqIGFz c3VtaW5nIHRoYXQgdGhlIGRhdGEgZGlzdHJpYnV0aW9uIGlzIGFmZmVjdGVkIHVuaWZvcm1s eSBieSB0aGUKQEAgLTQ0NzMsNiArNDQ3MCw5IEBAIGVzdGltYXRlX2hhc2hfYnVja2V0X3N0 YXRzKFBsYW5uZXJJbmZvICpyb290LCBOb2RlICpoYXNoa2V5LCBkb3VibGUgbmJ1Y2tldHMs CiAJCW5kaXN0aW5jdCA9IGNsYW1wX3Jvd19lc3QobmRpc3RpbmN0KTsKIAl9CiAKKwkvKiBD b21wdXRlIGF2ZyBmcmVxIG9mIGFsbCBkaXN0aW5jdCBkYXRhIHZhbHVlcyBpbiB0aGUgZmls dGVyZWQgcmVsYXRpb24gKi8KKwlhdmdmcmVxID0gKDEuMCAtIHN0YW51bGxmcmFjKSAvIG5k aXN0aW5jdDsKKwogCS8qCiAJICogSW5pdGlhbCBlc3RpbWF0ZSBvZiBidWNrZXRzaXplIGZy YWN0aW9uIGlzIDEvbmJ1Y2tldHMgYXMgbG9uZyBhcyB0aGUKIAkgKiBudW1iZXIgb2YgYnVj a2V0cyBpcyBsZXNzIHRoYW4gdGhlIGV4cGVjdGVkIG51bWJlciBvZiBkaXN0aW5jdCB2YWx1 ZXM7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pvaW4ub3V0IGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9qb2luLm91dAppbmRleCAwNzJhNzM0N2I4MS4u NDE1MjFmMjc1YzggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvam9p bi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9qb2luLm91dApAQCAtOTQy OSwxOSArOTQyOSwxOSBAQCBzZWxlY3QgKiBmcm9tIGZrZXN0IGYxCiAgIGpvaW4gZmtlc3Qg ZjIgb24gKGYxLnggPSBmMi54IGFuZCBmMS54MTAgPSBmMi54MTBiIGFuZCBmMS54MTAwID0g ZjIueDEwMCkKICAgam9pbiBma2VzdCBmMyBvbiBmMS54ID0gZjMueAogICB3aGVyZSBmMS54 MTAwID0gMjsKLSAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAg ICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExB TiAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgSGFzaCBKb2luCi0gICBIYXNoIENvbmQ6IChm MS54ID0gZjMueCkKKyAgIEhhc2ggQ29uZDogKChmMi54ID0gZjEueCkgQU5EIChmMi54MTBi ID0gZjEueDEwKSkKICAgIC0+ICBIYXNoIEpvaW4KLSAgICAgICAgIEhhc2ggQ29uZDogKChm Mi54ID0gZjEueCkgQU5EIChmMi54MTBiID0gZjEueDEwKSkKLSAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBma2VzdCBmMgotICAgICAgICAgICAgICAgRmlsdGVyOiAoeDEwMCA9IDIpCi0g ICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGZrZXN0 IGYxCi0gICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh4MTAwID0gMikKLSAgIC0+ICBI YXNoCisgICAgICAgICBIYXNoIENvbmQ6IChmMy54ID0gZjIueCkKICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBma2VzdCBmMworICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBma2VzdCBmMgorICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAoeDEwMCA9IDIpCisgICAtPiAgSGFzaAorICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGZr ZXN0IGYxCisgICAgICAgICAgICAgICBGaWx0ZXI6ICh4MTAwID0gMikKICgxMSByb3dzKQog CiByb2xsYmFjazsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFy dGl0aW9uX2pvaW4ub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25f am9pbi5vdXQKaW5kZXggZjZkM2FkZTM2OGEuLjM4NjQzZDQxZmQ3IDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9qb2luLm91dAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9qb2luLm91dApAQCAtMTU4LDIwICsx NTgsMjAgQEAgU0VMRUNUIHQxLCB0MiBGUk9NIHBydDEgdDEgTEVGVCBKT0lOIHBydDIgdDIg T04gdDEuYSA9IHQyLmIgV0hFUkUgdDEuYiA9IDAgT1JERVIKIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgU29ydAogICAgU29ydCBLZXk6 IHQxLmEsIHQyLmIKLSAgIC0+ICBIYXNoIExlZnQgSm9pbgotICAgICAgICAgSGFzaCBDb25k OiAodDEuYSA9IHQyLmIpCisgICAtPiAgSGFzaCBSaWdodCBKb2luCisgICAgICAgICBIYXNo IENvbmQ6ICh0Mi5iID0gdDEuYSkKICAgICAgICAgIC0+ICBBcHBlbmQKLSAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AxIHQxXzEKLSAgICAgICAgICAgICAgICAgICAg IEZpbHRlcjogKGIgPSAwKQotICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFf cDIgdDFfMgotICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCi0gICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMyB0MV8zCi0gICAgICAgICAgICAgICAg ICAgICBGaWx0ZXI6IChiID0gMCkKKyAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw cnQyX3AxIHQyXzEKKyAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AyIHQy XzIKKyAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AzIHQyXzMKICAgICAg ICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAtPiAgQXBwZW5kCi0gICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMSB0Ml8xCi0gICAgICAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMyB0Ml8zCisgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHJ0MV9wMSB0MV8xCisgICAgICAgICAgICAgICAgICAgICAgICAg ICBGaWx0ZXI6IChiID0gMCkKKyAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwcnQxX3AyIHQxXzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIg PSAwKQorICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDMgdDFf MworICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAoMTYgcm93 cykKIAogU0VMRUNUIHQxLCB0MiBGUk9NIHBydDEgdDEgTEVGVCBKT0lOIHBydDIgdDIgT04g dDEuYSA9IHQyLmIgV0hFUkUgdDEuYiA9IDAgT1JERVIgQlkgdDEuYSwgdDIuYjsKQEAgLTI5 NywyMyArMjk3LDIzIEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0 MSB0MSwgcHJ0MiB0MiBXSEVSRSB0MS5hID0gdDIuYiBBTkQgdDEuYSA8CiAtLSBDdXJyZW50 bHkgd2UgY2FuJ3QgZG8gcGFydGl0aW9uZWQgam9pbiBpZiBudWxsYWJsZS1zaWRlIHBhcnRp dGlvbnMgYXJlIHBydW5lZAogRVhQTEFJTiAoQ09TVFMgT0ZGKQogU0VMRUNUIHQxLmEsIHQx LmMsIHQyLmIsIHQyLmMgRlJPTSAoU0VMRUNUICogRlJPTSBwcnQxIFdIRVJFIGEgPCA0NTAp IHQxIExFRlQgSk9JTiAoU0VMRUNUICogRlJPTSBwcnQyIFdIRVJFIGIgPiAyNTApIHQyIE9O IHQxLmEgPSB0Mi5iIFdIRVJFIHQxLmIgPSAwIE9SREVSIEJZIHQxLmEsIHQyLmI7Ci0gICAg ICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgIAotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAg ICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAg ICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogIFNvcnQKICAgIFNvcnQgS2V5OiBwcnQxLmEsIHBydDIuYgotICAgLT4g IEhhc2ggTGVmdCBKb2luCi0gICAgICAgICBIYXNoIENvbmQ6IChwcnQxLmEgPSBwcnQyLmIp CisgICAtPiAgSGFzaCBSaWdodCBKb2luCisgICAgICAgICBIYXNoIENvbmQ6IChwcnQyLmIg PSBwcnQxLmEpCiAgICAgICAgICAtPiAgQXBwZW5kCi0gICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHJ0MV9wMSBwcnQxXzEKLSAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KChhIDwgNDUwKSBBTkQgKGIgPSAwKSkKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwcnQxX3AyIHBydDFfMgotICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGEgPCA0 NTApIEFORCAoYiA9IDApKQorICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJf cDIgcHJ0Ml8xCisgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID4gMjUwKQorICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfcDMgcHJ0Ml8yCisgICAgICAgICAg ICAgICAgICAgICBGaWx0ZXI6IChiID4gMjUwKQogICAgICAgICAgLT4gIEhhc2gKICAgICAg ICAgICAgICAgIC0+ICBBcHBlbmQKLSAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwcnQyX3AyIHBydDJfMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAoYiA+IDI1MCkKLSAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQy X3AzIHBydDJfMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA+IDI1 MCkKKyAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AxIHBydDFf MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGEgPCA0NTApIEFORCAo YiA9IDApKQorICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDIg cHJ0MV8yCisgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgoYSA8IDQ1MCkg QU5EIChiID0gMCkpCiAoMTUgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQy LmMgRlJPTSAoU0VMRUNUICogRlJPTSBwcnQxIFdIRVJFIGEgPCA0NTApIHQxIExFRlQgSk9J TiAoU0VMRUNUICogRlJPTSBwcnQyIFdIRVJFIGIgPiAyNTApIHQyIE9OIHQxLmEgPSB0Mi5i IFdIRVJFIHQxLmIgPSAwIE9SREVSIEJZIHQxLmEsIHQyLmI7CkBAIC03NzgsMjMgKzc3OCwy MyBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIHBydDFfZSB0MSwgcHJ0 Ml9lIHQyIFdIRVJFICh0MS5hICsgdDEuYikvMiA9CiAgICBTb3J0IEtleTogdDEuYSwgdDIu YgogICAgLT4gIEFwcGVuZAogICAgICAgICAgLT4gIEhhc2ggSm9pbgotICAgICAgICAgICAg ICAgSGFzaCBDb25kOiAoKCh0MV8xLmEgKyB0MV8xLmIpIC8gMikgPSAoKHQyXzEuYiArIHQy XzEuYSkgLyAyKSkKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2VfcDEg dDFfMQotICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYyA9IDApCisgICAgICAgICAg ICAgICBIYXNoIENvbmQ6ICgoKHQyXzEuYiArIHQyXzEuYSkgLyAyKSA9ICgodDFfMS5hICsg dDFfMS5iKSAvIDIpKQorICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfZV9w MSB0Ml8xCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBydDJfZV9wMSB0Ml8xCisgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AxIHQxXzEKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIEZpbHRlcjogKGMgPSAwKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgotICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAoKCh0MV8yLmEgKyB0MV8yLmIpIC8gMikgPSAoKHQyXzIuYiAr IHQyXzIuYSkgLyAyKSkKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Vf cDIgdDFfMgotICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYyA9IDApCisgICAgICAg ICAgICAgICBIYXNoIENvbmQ6ICgoKHQyXzIuYiArIHQyXzIuYSkgLyAyKSA9ICgodDFfMi5h ICsgdDFfMi5iKSAvIDIpKQorICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJf ZV9wMiB0Ml8yCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfZV9wMiB0Ml8yCisgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AyIHQxXzIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIEZpbHRlcjogKGMgPSAwKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgotICAgICAg ICAgICAgICAgSGFzaCBDb25kOiAoKCh0MV8zLmEgKyB0MV8zLmIpIC8gMikgPSAoKHQyXzMu YiArIHQyXzMuYSkgLyAyKSkKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQx X2VfcDMgdDFfMwotICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYyA9IDApCisgICAg ICAgICAgICAgICBIYXNoIENvbmQ6ICgoKHQyXzMuYiArIHQyXzMuYSkgLyAyKSA9ICgodDFf My5hICsgdDFfMy5iKSAvIDIpKQorICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBy dDJfZV9wMyB0Ml8zCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfZV9wMyB0Ml8zCisgICAgICAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AzIHQxXzMKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZpbHRlcjogKGMgPSAwKQogKDIxIHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0 MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MV9lIHQxLCBwcnQyX2UgdDIgV0hFUkUgKHQxLmEg KyB0MS5iKS8yID0gKHQyLmIgKyB0Mi5hKS8yIEFORCB0MS5jID0gMCBPUkRFUiBCWSB0MS5h LCB0Mi5iOwpAQCAtODY0LDI2ICs4NjQsMjYgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIs IHQyLmMsIHQzLmEgKyB0My5iLCB0My5jIEZST00gKHBydDEgdDEgTEVGVCBKT0lOIHBydDIg dDIKICBTb3J0CiAgICBTb3J0IEtleTogdDEuYSwgdDIuYiwgKCh0My5hICsgdDMuYikpCiAg ICAtPiAgQXBwZW5kCi0gICAgICAgICAtPiAgSGFzaCBMZWZ0IEpvaW4KLSAgICAgICAgICAg ICAgIEhhc2ggQ29uZDogKHQxXzEuYSA9ICgodDNfMS5hICsgdDNfMS5iKSAvIDIpKQotICAg ICAgICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgotICAgICAgICAgICAgICAgICAgICAg SGFzaCBDb25kOiAodDJfMS5iID0gdDFfMS5hKQotICAgICAgICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBydDJfcDEgdDJfMQotICAgICAgICAgICAgICAgICAgICAgLT4gIEhh c2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3Ax IHQxXzEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAw KQorICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgorICAgICAgICAgICAgICAgSGFzaCBD b25kOiAoKCh0M18xLmEgKyB0M18xLmIpIC8gMikgPSB0MV8xLmEpCisgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AxIHQzXzEKICAgICAgICAgICAgICAgIC0+ICBI YXNoCi0gICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AxIHQz XzEKLSAgICAgICAgIC0+ICBIYXNoIExlZnQgSm9pbgotICAgICAgICAgICAgICAgSGFzaCBD b25kOiAodDFfMi5hID0gKCh0M18yLmEgKyB0M18yLmIpIC8gMikpCi0gICAgICAgICAgICAg ICAtPiAgSGFzaCBSaWdodCBKb2luCi0gICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 ICh0Ml8yLmIgPSB0MV8yLmEpCi0gICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHJ0Ml9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDIgdDFfMgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCisgICAgICAg ICAgICAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBIYXNoIENvbmQ6ICh0Ml8xLmIgPSB0MV8xLmEpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMSB0Ml8xCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDEgdDFfMQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCisgICAgICAgICAtPiAgSGFzaCBS aWdodCBKb2luCisgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgoKHQzXzIuYSArIHQzXzIu YikgLyAyKSA9IHQxXzIuYSkKKyAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQx X2VfcDIgdDNfMgogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2VfcDIgdDNfMgorICAgICAgICAgICAgICAgICAg ICAgLT4gIEhhc2ggUmlnaHQgSm9pbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFz aCBDb25kOiAodDJfMi5iID0gdDFfMi5hKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBydDJfcDIgdDJfMgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwcnQxX3AyIHQxXzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgog ICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKCh0M18zLmEgKyB0M18zLmIpIC8gMikgPSB0 MV8zLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AzIHQzXzMK QEAgLTkyMSwyMSArOTIxLDIxIEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jLCB0 My5hICsgdDMuYiwgdDMuYyBGUk9NIChwcnQxIHQxIExFRlQgSk9JTiBwcnQyIHQyCiAgICBT b3J0IEtleTogdDEuYSwgdDIuYiwgKCh0My5hICsgdDMuYikpCiAgICAtPiAgQXBwZW5kCiAg ICAgICAgICAtPiAgTmVzdGVkIExvb3AgTGVmdCBKb2luCi0gICAgICAgICAgICAgICAtPiAg SGFzaCBMZWZ0IEpvaW4KLSAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCgodDNf MS5hICsgdDNfMS5iKSAvIDIpID0gdDFfMS5hKQotICAgICAgICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBydDFfZV9wMSB0M18xCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICBGaWx0ZXI6IChjID0gMCkKKyAgICAgICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4K KyAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzEuYSA9ICgodDNfMS5hICsg dDNfMS5iKSAvIDIpKQorICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBy dDFfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AxIHQxXzEKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2VfcDEgdDNfMQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYyA9IDApCiAgICAgICAg ICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBpcHJ0Ml9wMV9iIG9uIHBydDJfcDEgdDJf MQogICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKGIgPSB0MV8xLmEpCiAgICAg ICAgICAtPiAgTmVzdGVkIExvb3AgTGVmdCBKb2luCi0gICAgICAgICAgICAgICAtPiAgSGFz aCBMZWZ0IEpvaW4KLSAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCgodDNfMi5h ICsgdDNfMi5iKSAvIDIpID0gdDFfMi5hKQotICAgICAgICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBydDFfZV9wMiB0M18yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBG aWx0ZXI6IChjID0gMCkKKyAgICAgICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KKyAg ICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzIuYSA9ICgodDNfMi5hICsgdDNf Mi5iKSAvIDIpKQorICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFf cDIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AyIHQxXzIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2VfcDIgdDNfMgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYyA9IDApCiAgICAgICAgICAg ICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBpcHJ0Ml9wMl9iIG9uIHBydDJfcDIgdDJfMgog ICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKGIgPSB0MV8yLmEpCiAgICAgICAg ICAtPiAgTmVzdGVkIExvb3AgTGVmdCBKb2luCkBAIC0xMDgwLDE0ICsxMDgwLDE0IEBAIFNF TEVDVCBDT1VOVCgqKSBGUk9NIHBydDEgRlVMTCBKT0lOIHBydDIgcDIoYixhLGMpIFVTSU5H KGEsYikgRlVMTCBKT0lOIHBydDIgcDMoCiAtLSBtYWtlIHN1cmUgdGhlc2UgZ28gdG8gbnVs bCBhcyBleHBlY3RlZAogRVhQTEFJTiAoQ09TVFMgT0ZGKQogU0VMRUNUIHQxLmEsIHQxLnBo diwgdDIuYiwgdDIucGh2LCB0My5hICsgdDMuYiwgdDMucGh2IEZST00gKChTRUxFQ1QgNTAg cGh2LCAqIEZST00gcHJ0MSBXSEVSRSBwcnQxLmIgPSAwKSB0MSBGVUxMIEpPSU4gKFNFTEVD VCA3NSBwaHYsICogRlJPTSBwcnQyIFdIRVJFIHBydDIuYSA9IDApIHQyIE9OICh0MS5hID0g dDIuYikpIEZVTEwgSk9JTiAoU0VMRUNUIDUwIHBodiwgKiBGUk9NIHBydDFfZSBXSEVSRSBw cnQxX2UuYyA9IDApIHQzIE9OICh0MS5hID0gKHQzLmEgKyB0My5iKS8yKSBXSEVSRSB0MS5h ID0gdDEucGh2IE9SIHQyLmIgPSB0Mi5waHYgT1IgKHQzLmEgKyB0My5iKS8yID0gdDMucGh2 IE9SREVSIEJZIHQxLmEsIHQyLmIsIHQzLmEgKyB0My5iOwotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KICBTb3J0CiAgICBTb3J0IEtleTogcHJ0MS5hLCBwcnQyLmIsICgo cHJ0MV9lLmEgKyBwcnQxX2UuYikpCi0gICAtPiAgSGFzaCBGdWxsIEpvaW4KLSAgICAgICAg IEhhc2ggQ29uZDogKHBydDEuYSA9ICgocHJ0MV9lLmEgKyBwcnQxX2UuYikgLyAyKSkKLSAg ICAgICAgIEZpbHRlcjogKChwcnQxLmEgPSAoNTApKSBPUiAocHJ0Mi5iID0gKDc1KSkgT1Ig KCgocHJ0MV9lLmEgKyBwcnQxX2UuYikgLyAyKSA9ICg1MCkpKQotICAgICAgICAgLT4gIEFw cGVuZAorICAgLT4gIEFwcGVuZAorICAgICAgICAgLT4gIEhhc2ggRnVsbCBKb2luCisgICAg ICAgICAgICAgICBIYXNoIENvbmQ6IChwcnQxXzEuYSA9ICgocHJ0MV9lXzEuYSArIHBydDFf ZV8xLmIpIC8gMikpCisgICAgICAgICAgICAgICBGaWx0ZXI6ICgocHJ0MV8xLmEgPSAoNTAp KSBPUiAocHJ0Ml8xLmIgPSAoNzUpKSBPUiAoKChwcnQxX2VfMS5hICsgcHJ0MV9lXzEuYikg LyAyKSA9ICg1MCkpKQogICAgICAgICAgICAgICAgLT4gIEhhc2ggRnVsbCBKb2luCiAgICAg ICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChwcnQxXzEuYSA9IHBydDJfMS5iKQogICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDEgcHJ0MV8xCkBAIC0x MDk1LDYgKzEwOTUsMTIgQEAgU0VMRUNUIHQxLmEsIHQxLnBodiwgdDIuYiwgdDIucGh2LCB0 My5hICsgdDMuYiwgdDMucGh2IEZST00gKChTRUxFQ1QgNTAgcGh2LCAqIEYKICAgICAgICAg ICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0Ml9wMSBwcnQyXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEZpbHRlcjogKGEgPSAwKQorICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2VfcDEgcHJ0MV9lXzEKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGMgPSAwKQorICAgICAgICAgLT4g IEhhc2ggRnVsbCBKb2luCisgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChwcnQxXzIuYSA9 ICgocHJ0MV9lXzIuYSArIHBydDFfZV8yLmIpIC8gMikpCisgICAgICAgICAgICAgICBGaWx0 ZXI6ICgocHJ0MV8yLmEgPSAoNTApKSBPUiAocHJ0Ml8yLmIgPSAoNzUpKSBPUiAoKChwcnQx X2VfMi5hICsgcHJ0MV9lXzIuYikgLyAyKSA9ICg1MCkpKQogICAgICAgICAgICAgICAgLT4g IEhhc2ggRnVsbCBKb2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChwcnQx XzIuYSA9IHBydDJfMi5iKQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBydDFfcDIgcHJ0MV8yCkBAIC0xMTAyLDYgKzExMDgsMTIgQEAgU0VMRUNUIHQxLmEsIHQx LnBodiwgdDIuYiwgdDIucGh2LCB0My5hICsgdDMuYiwgdDMucGh2IEZST00gKChTRUxFQ1Qg NTAgcGh2LCAqIEYKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMiBwcnQyXzIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQorICAgICAgICAg ICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw cnQxX2VfcDIgcHJ0MV9lXzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGMgPSAwKQorICAgICAgICAgLT4gIEhhc2ggRnVsbCBKb2luCisgICAgICAgICAgICAgICBI YXNoIENvbmQ6IChwcnQxXzMuYSA9ICgocHJ0MV9lXzMuYSArIHBydDFfZV8zLmIpIC8gMikp CisgICAgICAgICAgICAgICBGaWx0ZXI6ICgocHJ0MV8zLmEgPSAoNTApKSBPUiAocHJ0Ml8z LmIgPSAoNzUpKSBPUiAoKChwcnQxX2VfMy5hICsgcHJ0MV9lXzMuYikgLyAyKSA9ICg1MCkp KQogICAgICAgICAgICAgICAgLT4gIEhhc2ggRnVsbCBKb2luCiAgICAgICAgICAgICAgICAg ICAgICBIYXNoIENvbmQ6IChwcnQxXzMuYSA9IHBydDJfMy5iKQogICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDMgcHJ0MV8zCkBAIC0xMTA5LDE1ICsxMTIx LDEwIEBAIFNFTEVDVCB0MS5hLCB0MS5waHYsIHQyLmIsIHQyLnBodiwgdDMuYSArIHQzLmIs IHQzLnBodiBGUk9NICgoU0VMRUNUIDUwIHBodiwgKiBGCiAgICAgICAgICAgICAgICAgICAg ICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBydDJfcDMgcHJ0Ml8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0 ZXI6IChhID0gMCkKLSAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAtPiAgQXBw ZW5kCi0gICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AxIHBy dDFfZV8xCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChjID0gMCkKLSAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2VfcDIgcHJ0MV9lXzIK LSAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGMgPSAwKQorICAgICAgICAg ICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw cnQxX2VfcDMgcHJ0MV9lXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGMgPSAwKQotKDM1IHJvd3MpCisoNDIgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLnBodiwg dDIuYiwgdDIucGh2LCB0My5hICsgdDMuYiwgdDMucGh2IEZST00gKChTRUxFQ1QgNTAgcGh2 LCAqIEZST00gcHJ0MSBXSEVSRSBwcnQxLmIgPSAwKSB0MSBGVUxMIEpPSU4gKFNFTEVDVCA3 NSBwaHYsICogRlJPTSBwcnQyIFdIRVJFIHBydDIuYSA9IDApIHQyIE9OICh0MS5hID0gdDIu YikpIEZVTEwgSk9JTiAoU0VMRUNUIDUwIHBodiwgKiBGUk9NIHBydDFfZSBXSEVSRSBwcnQx X2UuYyA9IDApIHQzIE9OICh0MS5hID0gKHQzLmEgKyB0My5iKS8yKSBXSEVSRSB0MS5hID0g dDEucGh2IE9SIHQyLmIgPSB0Mi5waHYgT1IgKHQzLmEgKyB0My5iKS8yID0gdDMucGh2IE9S REVSIEJZIHQxLmEsIHQyLmIsIHQzLmEgKyB0My5iOwogIGEgIHwgcGh2IHwgYiAgfCBwaHYg fCA/Y29sdW1uPyB8IHBodiAKQEAgLTExMzksMTEgKzExNDYsMTEgQEAgU0VMRUNUIHQxLiog RlJPTSBwcnQxIHQxIFdIRVJFIHQxLmEgSU4gKFNFTEVDVCB0MS5iIEZST00gcHJ0MiB0MSwg cHJ0MV9lIHQyIFdIRVIKICAgICAgICAgICAgICAgIC0+ICBTb3J0CiAgICAgICAgICAgICAg ICAgICAgICBTb3J0IEtleTogdDFfNS5iCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFz aCBKb2luCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV81LmIg PSAoKHQyXzEuYSArIHQyXzEuYikgLyAyKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AxIHQxXzUKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg SGFzaCBDb25kOiAoKCh0Ml8xLmEgKyB0Ml8xLmIpIC8gMikgPSB0MV81LmIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AxIHQyXzEKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AxIHQyXzEKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AxIHQxXzUK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGEgPSAw KQogICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgaXBydDFfcDFfYSBvbiBwcnQxX3Ax IHQxXzIKICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6IChhID0gKCh0Ml8xLmEgKyB0Ml8x LmIpIC8gMikpCiAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKQEAgLTExNTMsMTEg KzExNjAsMTEgQEAgU0VMRUNUIHQxLiogRlJPTSBwcnQxIHQxIFdIRVJFIHQxLmEgSU4gKFNF TEVDVCB0MS5iIEZST00gcHJ0MiB0MSwgcHJ0MV9lIHQyIFdIRVIKICAgICAgICAgICAgICAg IC0+ICBTb3J0CiAgICAgICAgICAgICAgICAgICAgICBTb3J0IEtleTogdDFfNi5iCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICBIYXNoIENvbmQ6ICh0MV82LmIgPSAoKHQyXzIuYSArIHQyXzIuYikgLyAyKSkKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AyIHQxXzYK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKCh0Ml8yLmEgKyB0Ml8yLmIp IC8gMikgPSB0MV82LmIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0MV9lX3AyIHQyXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBI YXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHJ0MV9lX3AyIHQyXzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwcnQyX3AyIHQxXzYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQogICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNp bmcgaXBydDFfcDJfYSBvbiBwcnQxX3AyIHQxXzMKICAgICAgICAgICAgICAgIEluZGV4IENv bmQ6IChhID0gKCh0Ml8yLmEgKyB0Ml8yLmIpIC8gMikpCiAgICAgICAgICAgICAgICBGaWx0 ZXI6IChiID0gMCkKQEAgLTE5MzcsMTIgKzE5NDQsMTIgQEAgU0VMRUNUIHQxLmEsIHQxLmMs IHQyLmIsIHQyLmMgRlJPTSBwcnQxX2wgdDEgTEVGVCBKT0lOIHBydDJfbCB0MiBPTiB0MS5h ID0gdDIuYgogIFNvcnQKICAgIFNvcnQgS2V5OiB0MS5hLCB0Mi5iCiAgICAtPiAgQXBwZW5k Ci0gICAgICAgICAtPiAgSGFzaCBMZWZ0IEpvaW4KLSAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKCh0MV8xLmEgPSB0Ml8xLmIpIEFORCAoKHQxXzEuYyk6OnRleHQgPSAodDJfMS5jKTo6 dGV4dCkpCi0gICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9sX3AxIHQxXzEK LSAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQorICAgICAgICAgLT4gIEhh c2ggUmlnaHQgSm9pbgorICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzEuYiA9IHQx XzEuYSkgQU5EICgodDJfMS5jKTo6dGV4dCA9ICh0MV8xLmMpOjp0ZXh0KSkKKyAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2xfcDEgdDJfMQogICAgICAgICAgICAgICAg LT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2xf cDEgdDJfMQorICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfbF9w MSB0MV8xCisgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICAg ICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDog KCh0Ml8yLmIgPSB0MV8yLmEpIEFORCAoKHQyXzIuYyk6OnRleHQgPSAodDFfMi5jKTo6dGV4 dCkpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9sX3AyX3AxIHQyXzIK QEAgLTI5NjEsMjYgKzI5NjgsMjYgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMg RlJPTSBwcnQxX2FkdiB0MSBMRUZUIEpPSU4gcHJ0Ml9hZHYgdDIgT04gKHQxLmEgPQogLS0g cGFydGl0aW9ucyBvbiB0aGUgbnVsbGFibGUgc2lkZQogRVhQTEFJTiAoQ09TVFMgT0ZGKQog U0VMRUNUIHQxLmIsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBwcnQyX2FkdiB0MSBMRUZUIEpP SU4gcHJ0MV9hZHYgdDIgT04gKHQxLmIgPSB0Mi5hKSBXSEVSRSB0MS5hID0gMCBPUkRFUiBC WSB0MS5iLCB0Mi5hOwotICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAg ICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAg ICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgU29ydAogICAgU29ydCBLZXk6IHQxLmIs IHQyLmEKLSAgIC0+ICBIYXNoIExlZnQgSm9pbgotICAgICAgICAgSGFzaCBDb25kOiAodDEu YiA9IHQyLmEpCisgICAtPiAgSGFzaCBSaWdodCBKb2luCisgICAgICAgICBIYXNoIENvbmQ6 ICh0Mi5hID0gdDEuYikKICAgICAgICAgIC0+ICBBcHBlbmQKLSAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMSB0MV8xCi0gICAgICAgICAgICAgICAgICAgICBG aWx0ZXI6IChhID0gMCkKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fk dl9wMiB0MV8yCi0gICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChhID0gMCkKLSAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMyB0MV8zCi0gICAgICAgICAg ICAgICAgICAgICBGaWx0ZXI6IChhID0gMCkKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwcnQyX2Fkdl9leHRyYSB0MV80Ci0gICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6 IChhID0gMCkKKyAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMSB0 Ml8xCisgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIgdDJfMgor ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AzIHQyXzMKICAgICAg ICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAtPiAgQXBwZW5kCi0gICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDEgdDJfMQotICAgICAgICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AyIHQyXzIKLSAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMyB0Ml8zCisgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDEgdDFfMQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYSA9IDApCisgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDIgdDFfMgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgRmlsdGVyOiAoYSA9IDApCisgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHJ0Ml9hZHZfcDMgdDFfMworICAgICAgICAgICAgICAgICAgICAgICAgICAg RmlsdGVyOiAoYSA9IDApCisgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHJ0Ml9hZHZfZXh0cmEgdDFfNAorICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAoYSA9IDApCiAoMTggcm93cykKIAogLS0gYW50aSBqb2luCkBAIC0zMDI0LDI2ICszMDMx LDI2IEBAIFNFTEVDVCB0MS4qIEZST00gcHJ0MV9hZHYgdDEgV0hFUkUgTk9UIEVYSVNUUyAo U0VMRUNUIDEgRlJPTSBwcnQyX2FkdiB0MiBXSEVSRSB0CiAtLSBwYXJ0aXRpb25zIG9uIHRo ZSBudWxsYWJsZSBzaWRlCiBFWFBMQUlOIChDT1NUUyBPRkYpCiBTRUxFQ1QgdDEuKiBGUk9N IHBydDJfYWR2IHQxIFdIRVJFIE5PVCBFWElTVFMgKFNFTEVDVCAxIEZST00gcHJ0MV9hZHYg dDIgV0hFUkUgdDEuYiA9IHQyLmEpIEFORCB0MS5hID0gMCBPUkRFUiBCWSB0MS5iOwotICAg ICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAg ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAgU29ydAogICAgU29ydCBLZXk6IHQxLmIKLSAgIC0+ICBIYXNoIEFudGkg Sm9pbgotICAgICAgICAgSGFzaCBDb25kOiAodDEuYiA9IHQyLmEpCisgICAtPiAgSGFzaCBS aWdodCBBbnRpIEpvaW4KKyAgICAgICAgIEhhc2ggQ29uZDogKHQyLmEgPSB0MS5iKQogICAg ICAgICAgLT4gIEFwcGVuZAotICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJf YWR2X3AxIHQxXzEKLSAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQotICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AyIHQxXzIKLSAgICAgICAg ICAgICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQotICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBydDJfYWR2X3AzIHQxXzMKLSAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGEgPSAwKQotICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X2V4dHJh IHQxXzQKLSAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQorICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AxIHQyXzEKKyAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMiB0Ml8yCisgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0MV9hZHZfcDMgdDJfMwogICAgICAgICAgLT4gIEhhc2gKICAgICAg ICAgICAgICAgIC0+ICBBcHBlbmQKLSAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwcnQxX2Fkdl9wMSB0Ml8xCi0gICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0MV9hZHZfcDIgdDJfMgotICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBydDFfYWR2X3AzIHQyXzMKKyAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwcnQyX2Fkdl9wMSB0MV8xCisgICAgICAgICAgICAgICAgICAgICAgICAgICBG aWx0ZXI6IChhID0gMCkKKyAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw cnQyX2Fkdl9wMiB0MV8yCisgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChh ID0gMCkKKyAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9w MyB0MV8zCisgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChhID0gMCkKKyAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9leHRyYSB0MV80 CisgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChhID0gMCkKICgxOCByb3dz KQogCiAtLSBmdWxsIGpvaW47IGN1cnJlbnRseSB3ZSBjYW4ndCBkbyBwYXJ0aXRpb25lZCBq b2luIGlmIHRoZXJlIGFyZSBubyBtYXRjaGVkCkBAIC0zMTM5LDk3ICszMTQ2LDk3IEBAIEFO QUxZWkUgcHJ0Ml9hZHY7CiAtLSBpbm5lciBqb2luCiBFWFBMQUlOIChDT1NUUyBPRkYpCiBT RUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIHBydDFfYWR2IHQxIElOTkVSIEpP SU4gcHJ0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5iKSBXSEVSRSB0MS5iID0gMCBPUkRFUiBC WSB0MS5hLCB0Mi5iOwotICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAg ICAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExB TiAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIFNvcnQKICAgIFNvcnQgS2V5OiB0MS5hCiAg ICAtPiAgSGFzaCBKb2luCi0gICAgICAgICBIYXNoIENvbmQ6ICh0MS5hID0gdDIuYikKKyAg ICAgICAgIEhhc2ggQ29uZDogKHQyLmIgPSB0MS5hKQogICAgICAgICAgLT4gIEFwcGVuZAot ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AxIHQxXzEKLSAgICAg ICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQotICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBydDFfYWR2X3AyIHQxXzIKLSAgICAgICAgICAgICAgICAgICAgIEZpbHRl cjogKGIgPSAwKQotICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3Az IHQxXzMKLSAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQorICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AxIHQyXzEKKyAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMiB0Ml8yCisgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDNfMSB0Ml8zCisgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHJ0Ml9hZHZfcDNfMiB0Ml80CiAgICAgICAgICAtPiAgSGFzaAogICAgICAg ICAgICAgICAgLT4gIEFwcGVuZAotICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDJfYWR2X3AxIHQyXzEKLSAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwcnQyX2Fkdl9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0Ml9hZHZfcDNfMSB0Ml8zCi0gICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHJ0Ml9hZHZfcDNfMiB0Ml80CisgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0MV9hZHZfcDEgdDFfMQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgRmlsdGVyOiAoYiA9IDApCisgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHJ0MV9hZHZfcDIgdDFfMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAoYiA9IDApCisgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9h ZHZfcDMgdDFfMworICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDAp CiAoMTcgcm93cykKIAogLS0gc2VtaSBqb2luCiBFWFBMQUlOIChDT1NUUyBPRkYpCiBTRUxF Q1QgdDEuKiBGUk9NIHBydDFfYWR2IHQxIFdIRVJFIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBw cnQyX2FkdiB0MiBXSEVSRSB0MS5hID0gdDIuYikgQU5EIHQxLmIgPSAwIE9SREVSIEJZIHQx LmE7Ci0gICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAg ICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAg ICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiAgU29ydAogICAgU29ydCBLZXk6IHQxLmEKLSAgIC0+ICBIYXNo IFNlbWkgSm9pbgotICAgICAgICAgSGFzaCBDb25kOiAodDEuYSA9IHQyLmIpCisgICAtPiAg SGFzaCBSaWdodCBTZW1pIEpvaW4KKyAgICAgICAgIEhhc2ggQ29uZDogKHQyLmIgPSB0MS5h KQogICAgICAgICAgLT4gIEFwcGVuZAotICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBydDFfYWR2X3AxIHQxXzEKLSAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAw KQotICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AyIHQxXzIKLSAg ICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQotICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBydDFfYWR2X3AzIHQxXzMKLSAgICAgICAgICAgICAgICAgICAgIEZp bHRlcjogKGIgPSAwKQorICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2 X3AxIHQyXzEKKyAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMiB0 Ml8yCisgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDNfMSB0Ml8z CisgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDNfMiB0Ml80CiAg ICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgLT4gIEFwcGVuZAotICAgICAgICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AxIHQyXzEKLSAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMiB0Ml8yCi0gICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDNfMSB0Ml8zCi0gICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDNfMiB0Ml80Cisg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDEgdDFfMQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCisgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIgdDFfMgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCisgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDMgdDFfMworICAgICAgICAgICAgICAgICAg ICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAoMTcgcm93cykKIAogLS0gbGVmdCBqb2luCiBF WFBMQUlOIChDT1NUUyBPRkYpCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9N IHBydDFfYWR2IHQxIExFRlQgSk9JTiBwcnQyX2FkdiB0MiBPTiAodDEuYSA9IHQyLmIpIFdI RVJFIHQxLmIgPSAwIE9SREVSIEJZIHQxLmEsIHQyLmI7Ci0gICAgICAgICAgICAgICAgICAg ICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAg ICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgU29ydAog ICAgU29ydCBLZXk6IHQxLmEsIHQyLmIKLSAgIC0+ICBIYXNoIExlZnQgSm9pbgotICAgICAg ICAgSGFzaCBDb25kOiAodDEuYSA9IHQyLmIpCisgICAtPiAgSGFzaCBSaWdodCBKb2luCisg ICAgICAgICBIYXNoIENvbmQ6ICh0Mi5iID0gdDEuYSkKICAgICAgICAgIC0+ICBBcHBlbmQK LSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMSB0MV8xCi0gICAg ICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKLSAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMiB0MV8yCi0gICAgICAgICAgICAgICAgICAgICBGaWx0 ZXI6IChiID0gMCkKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9w MyB0MV8zCi0gICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKKyAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMSB0Ml8xCisgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDIgdDJfMgorICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBydDJfYWR2X3AzXzEgdDJfMworICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBydDJfYWR2X3AzXzIgdDJfNAogICAgICAgICAgLT4gIEhhc2gKICAgICAg ICAgICAgICAgIC0+ICBBcHBlbmQKLSAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwcnQyX2Fkdl9wMSB0Ml8xCi0gICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0Ml9hZHZfcDIgdDJfMgotICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBydDJfYWR2X3AzXzEgdDJfMwotICAgICAgICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBydDJfYWR2X3AzXzIgdDJfNAorICAgICAgICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBydDFfYWR2X3AxIHQxXzEKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIEZpbHRlcjogKGIgPSAwKQorICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDFfYWR2X3AyIHQxXzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRl cjogKGIgPSAwKQorICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFf YWR2X3AzIHQxXzMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAw KQogKDE3IHJvd3MpCiAKIC0tIGFudGkgam9pbgogRVhQTEFJTiAoQ09TVFMgT0ZGKQogU0VM RUNUIHQxLiogRlJPTSBwcnQxX2FkdiB0MSBXSEVSRSBOT1QgRVhJU1RTIChTRUxFQ1QgMSBG Uk9NIHBydDJfYWR2IHQyIFdIRVJFIHQxLmEgPSB0Mi5iKSBBTkQgdDEuYiA9IDAgT1JERVIg QlkgdDEuYTsKLSAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAg ICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAg ICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KICBTb3J0CiAgICBTb3J0IEtleTogdDEuYQotICAgLT4g IEhhc2ggQW50aSBKb2luCi0gICAgICAgICBIYXNoIENvbmQ6ICh0MS5hID0gdDIuYikKKyAg IC0+ICBIYXNoIFJpZ2h0IEFudGkgSm9pbgorICAgICAgICAgSGFzaCBDb25kOiAodDIuYiA9 IHQxLmEpCiAgICAgICAgICAtPiAgQXBwZW5kCi0gICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0MV9hZHZfcDEgdDFfMQotICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAo YiA9IDApCi0gICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIgdDFf MgotICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCi0gICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDMgdDFfMwotICAgICAgICAgICAgICAgICAg ICAgRmlsdGVyOiAoYiA9IDApCisgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0 Ml9hZHZfcDEgdDJfMQorICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2 X3AyIHQyXzIKKyAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wM18x IHQyXzMKKyAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wM18yIHQy XzQKICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAtPiAgQXBwZW5kCi0gICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDEgdDJfMQotICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AyIHQyXzIKLSAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wM18xIHQyXzMK LSAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wM18yIHQy XzQKKyAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMSB0 MV8xCisgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKKyAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMiB0MV8yCisgICAg ICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKKyAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMyB0MV8zCisgICAgICAgICAgICAg ICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICgxNyByb3dzKQogCiAtLSBmdWxsIGpv aW4KQEAgLTMzMTksMTkgKzMzMjYsMTkgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQy LmMgRlJPTSBwcnQxX2FkdiB0MSBJTk5FUiBKT0lOIHBydDJfYWR2IHQyIE9OICh0MS5hID0K ICBTb3J0CiAgICBTb3J0IEtleTogdDEuYQogICAgLT4gIEhhc2ggSm9pbgotICAgICAgICAg SGFzaCBDb25kOiAodDEuYSA9IHQyLmIpCisgICAgICAgICBIYXNoIENvbmQ6ICh0Mi5iID0g dDEuYSkKICAgICAgICAgIC0+ICBBcHBlbmQKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwcnQxX2Fkdl9wMiB0MV8xCi0gICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChi ID0gMCkKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMyB0MV8y Ci0gICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKLSAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMSB0MV8zCi0gICAgICAgICAgICAgICAgICAg ICBGaWx0ZXI6IChiID0gMCkKKyAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQy X2Fkdl9wMSB0Ml8xCisgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZf cDIgdDJfMgorICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AzIHQy XzMKICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAtPiAgQXBwZW5kCi0gICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDEgdDJfMQotICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AyIHQyXzIKLSAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMyB0Ml8zCisg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIgdDFfMQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCisgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDMgdDFfMgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCisgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDEgdDFfMworICAgICAgICAgICAgICAgICAg ICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAoMTYgcm93cykKIAogQUxURVIgVEFCTEUgcHJ0 Ml9hZHYgREVUQUNIIFBBUlRJVElPTiBwcnQyX2Fkdl9wMzsKQEAgLTMzNDcsMTkgKzMzNTQs MTkgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxX2FkdiB0MSBJ Tk5FUiBKT0lOIHBydDJfYWR2IHQyIE9OICh0MS5hID0KICBTb3J0CiAgICBTb3J0IEtleTog dDEuYQogICAgLT4gIEhhc2ggSm9pbgotICAgICAgICAgSGFzaCBDb25kOiAodDEuYSA9IHQy LmIpCisgICAgICAgICBIYXNoIENvbmQ6ICh0Mi5iID0gdDEuYSkKICAgICAgICAgIC0+ICBB cHBlbmQKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMiB0MV8x Ci0gICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKLSAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMyB0MV8yCi0gICAgICAgICAgICAgICAgICAg ICBGaWx0ZXI6IChiID0gMCkKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQx X2Fkdl9wMSB0MV8zCi0gICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKKyAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMSB0Ml8xCisgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDIgdDJfMgorICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AzIHQyXzMKICAgICAgICAgIC0+ICBIYXNo CiAgICAgICAgICAgICAgICAtPiAgQXBwZW5kCi0gICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDEgdDJfMQotICAgICAgICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBydDJfYWR2X3AyIHQyXzIKLSAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMyB0Ml8zCisgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIgdDFfMQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmlsdGVyOiAoYiA9IDApCisgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0MV9hZHZfcDMgdDFfMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgRmls dGVyOiAoYiA9IDApCisgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0 MV9hZHZfcDEgdDFfMworICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9 IDApCiAoMTYgcm93cykKIAogRFJPUCBUQUJMRSBwcnQxX2Fkdl9wMzsKQEAgLTUwMTEsMTEg KzUwMTgsMTEgQEAgU0VMRUNUIHQxLiosIHQyLiogRlJPTSBhbHBoYSB0MSBJTk5FUiBKT0lO IGJldGEgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5iID0gdDIKICAgICAgICAgICAgICAg IC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gYmV0YV9u ZWdfcDEgdDJfMQogICAgICAgICAgLT4gIEhhc2ggSm9pbgotICAgICAgICAgICAgICAgSGFz aCBDb25kOiAoKHQxXzIuYSA9IHQyXzIuYSkgQU5EICh0MV8yLmIgPSB0Ml8yLmIpKQotICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGFscGhhX25lZ19wMiB0MV8yCi0gICAgICAg ICAgICAgICAgICAgICBGaWx0ZXI6ICgoYiA+PSAxMjUpIEFORCAoYiA8IDIyNSkpCisgICAg ICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBBTkQgKHQyXzIuYiA9 IHQxXzIuYikpCisgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gYmV0YV9uZWdfcDIg dDJfMgogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBiZXRhX25lZ19wMiB0Ml8yCisgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gYWxwaGFfbmVnX3AyIHQxXzIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIEZpbHRlcjogKChiID49IDEyNSkgQU5EIChiIDwgMjI1KSkKICAgICAgICAgIC0+ ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml80LmEgPSB0MV80 LmEpIEFORCAodDJfNC5iID0gdDFfNC5iKSkKICAgICAgICAgICAgICAgIC0+ICBBcHBlbmQK QEAgLTUxMzQsMjggKzUxNDEsMjUgQEAgU0VMRUNUIHQxLiosIHQyLiogRlJPTSBhbHBoYSB0 MSBJTk5FUiBKT0lOIGJldGEgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5jID0gdDIKIAog RVhQTEFJTiAoQ09TVFMgT0ZGKQogU0VMRUNUIHQxLiosIHQyLiogRlJPTSBhbHBoYSB0MSBJ Tk5FUiBKT0lOIGJldGEgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5iID0gdDIuYiBBTkQg dDEuYyA9IHQyLmMpIFdIRVJFICgodDEuYiA+PSAxMDAgQU5EIHQxLmIgPCAxMTApIE9SICh0 MS5iID49IDIwMCBBTkQgdDEuYiA8IDIxMCkpIEFORCAoKHQyLmIgPj0gMTAwIEFORCB0Mi5i IDwgMTEwKSBPUiAodDIuYiA+PSAyMDAgQU5EIHQyLmIgPCAyMTApKSBBTkQgdDEuYyBJTiAo JzAwMDQnLCAnMDAwOScpIE9SREVSIEJZIHQxLmEsIHQxLmI7Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBM QU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExB TiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIFNvcnQKICAgIFNvcnQgS2V5OiB0MS5h LCB0MS5iCiAgICAtPiAgQXBwZW5kCi0gICAgICAgICAtPiAgTWVyZ2UgSm9pbgotICAgICAg ICAgICAgICAgTWVyZ2UgQ29uZDogKCh0MV8xLmEgPSB0Ml8xLmEpIEFORCAodDFfMS5iID0g dDJfMS5iKSBBTkQgKHQxXzEuYyA9IHQyXzEuYykpCi0gICAgICAgICAgICAgICAtPiAgU29y dAotICAgICAgICAgICAgICAgICAgICAgU29ydCBLZXk6IHQxXzEuYSwgdDFfMS5iLCB0MV8x LmMKLSAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBhbHBoYV9uZWdfcDEg dDFfMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGMgPSBBTlkgKCd7 MDAwNCwwMDA5fSc6OnRleHRbXSkpIEFORCAoKChiID49IDEwMCkgQU5EIChiIDwgMTEwKSkg T1IgKChiID49IDIwMCkgQU5EIChiIDwgMjEwKSkpKQotICAgICAgICAgICAgICAgLT4gIFNv cnQKLSAgICAgICAgICAgICAgICAgICAgIFNvcnQgS2V5OiB0Ml8xLmEsIHQyXzEuYiwgdDJf MS5jCisgICAgICAgICAtPiAgSGFzaCBKb2luCisgICAgICAgICAgICAgICBIYXNoIENvbmQ6 ICgodDFfMS5hID0gdDJfMS5hKSBBTkQgKHQxXzEuYiA9IHQyXzEuYikgQU5EICh0MV8xLmMg PSB0Ml8xLmMpKQorICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGFscGhhX25lZ19w MSB0MV8xCisgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgoYyA9IEFOWSAoJ3swMDA0 LDAwMDl9Jzo6dGV4dFtdKSkgQU5EICgoKGIgPj0gMTAwKSBBTkQgKGIgPCAxMTApKSBPUiAo KGIgPj0gMjAwKSBBTkQgKGIgPCAyMTApKSkpCisgICAgICAgICAgICAgICAtPiAgSGFzaAog ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGJldGFfbmVnX3AxIHQyXzEK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKCgoYiA+PSAxMDApIEFORCAo YiA8IDExMCkpIE9SICgoYiA+PSAyMDApIEFORCAoYiA8IDIxMCkpKQogICAgICAgICAgLT4g IEhhc2ggSm9pbgotICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzIu YSkgQU5EICh0Ml8yLmIgPSB0MV8yLmIpIEFORCAodDJfMi5jID0gdDFfMi5jKSkKLSAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBiZXRhX25lZ19wMiB0Ml8yCi0gICAgICAgICAg ICAgICAgICAgICBGaWx0ZXI6ICgoKGIgPj0gMTAwKSBBTkQgKGIgPCAxMTApKSBPUiAoKGIg Pj0gMjAwKSBBTkQgKGIgPCAyMTApKSkKKyAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0 MV8yLmEgPSB0Ml8yLmEpIEFORCAodDFfMi5iID0gdDJfMi5iKSBBTkQgKHQxXzIuYyA9IHQy XzIuYykpCisgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gYWxwaGFfbmVnX3AyIHQx XzIKKyAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKChjID0gQU5ZICgnezAwMDQsMDAw OX0nOjp0ZXh0W10pKSBBTkQgKCgoYiA+PSAxMDApIEFORCAoYiA8IDExMCkpIE9SICgoYiA+ PSAyMDApIEFORCAoYiA8IDIxMCkpKSkKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gYWxwaGFfbmVnX3AyIHQxXzIKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKChjID0gQU5ZICgnezAwMDQsMDAw OX0nOjp0ZXh0W10pKSBBTkQgKCgoYiA+PSAxMDApIEFORCAoYiA8IDExMCkpIE9SICgoYiA+ PSAyMDApIEFORCAoYiA8IDIxMCkpKSkKKyAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBiZXRhX25lZ19wMiB0Ml8yCisgICAgICAgICAgICAgICAgICAgICAgICAgICBG aWx0ZXI6ICgoKGIgPj0gMTAwKSBBTkQgKGIgPCAxMTApKSBPUiAoKGIgPj0gMjAwKSBBTkQg KGIgPCAyMTApKSkKICAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcAogICAgICAgICAgICAgICAg Sm9pbiBGaWx0ZXI6ICgodDFfMy5hID0gdDJfMy5hKSBBTkQgKHQxXzMuYiA9IHQyXzMuYikg QU5EICh0MV8zLmMgPSB0Ml8zLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IGFscGhhX3Bvc19wMiB0MV8zCkBAIC01MTY4LDcgKzUxNzIsNyBAQCBTRUxFQ1QgdDEuKiwg dDIuKiBGUk9NIGFscGhhIHQxIElOTkVSIEpPSU4gYmV0YSB0MiBPTiAodDEuYSA9IHQyLmEg QU5EIHQxLmIgPSB0MgogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGMgPSBBTlkg KCd7MDAwNCwwMDA5fSc6OnRleHRbXSkpIEFORCAoKChiID49IDEwMCkgQU5EIChiIDwgMTEw KSkgT1IgKChiID49IDIwMCkgQU5EIChiIDwgMjEwKSkpKQogICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIGJldGFfcG9zX3AzIHQyXzQKICAgICAgICAgICAgICAgICAgICAgIEZp bHRlcjogKCgoYiA+PSAxMDApIEFORCAoYiA8IDExMCkpIE9SICgoYiA+PSAyMDApIEFORCAo YiA8IDIxMCkpKQotKDMyIHJvd3MpCisoMjkgcm93cykKIAogU0VMRUNUIHQxLiosIHQyLiog RlJPTSBhbHBoYSB0MSBJTk5FUiBKT0lOIGJldGEgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0 MS5iID0gdDIuYiBBTkQgdDEuYyA9IHQyLmMpIFdIRVJFICgodDEuYiA+PSAxMDAgQU5EIHQx LmIgPCAxMTApIE9SICh0MS5iID49IDIwMCBBTkQgdDEuYiA8IDIxMCkpIEFORCAoKHQyLmIg Pj0gMTAwIEFORCB0Mi5iIDwgMTEwKSBPUiAodDIuYiA+PSAyMDAgQU5EIHQyLmIgPCAyMTAp KSBBTkQgdDEuYyBJTiAoJzAwMDQnLCAnMDAwOScpIE9SREVSIEJZIHQxLmEsIHQxLmI7CiAg YSAgfCAgYiAgfCAgYyAgIHwgYSAgfCAgYiAgfCAgYyAgIAotLSAKMi41Mi4wCgo= --09ff2fd1700c447194965133fa831eb0--