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 1vJBMP-00DaNZ-2m for pgsql-hackers@arkaria.postgresql.org; Wed, 12 Nov 2025 13:58:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vJBMN-00BjUL-1P for pgsql-hackers@arkaria.postgresql.org; Wed, 12 Nov 2025 13:58:07 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vJBMM-00BjUC-2v for pgsql-hackers@lists.postgresql.org; Wed, 12 Nov 2025 13:58:07 +0000 Received: from mail-qt1-x841.google.com ([2607:f8b0:4864:20::841]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vJBMJ-007M0M-1v for pgsql-hackers@lists.postgresql.org; Wed, 12 Nov 2025 13:58:06 +0000 Received: by mail-qt1-x841.google.com with SMTP id d75a77b69052e-4ed946ed3cdso6754541cf.3 for ; Wed, 12 Nov 2025 05:58:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762955881; x=1763560681; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=WKI2WWDSSYsdVEJOZk5W4fS5lWjxFmf5V01i9cQXFSY=; b=QupIZ1wSHIiMyd3UvxSrRB4sYYTxiJaOnOnc3F4A2T+wdLvb+oj/SGhv1icHlYEuq1 QBoRUeDKUCdVHHVhFgWkydGRf37Nxj49ly85dIbKG1PQYWNGIbphhAJpEycyrY1KNnmq y4cyGcWU31NK0LTzB1S1cLqEHdGzd7ImdSZPI4l7h3MOoFKF/P6XK0wQtMdgFRHnerXk u6G0QfUUZxnhDCw0fKrE5kNtsRpQTG17IiNAY9ykVt4/4hlQ+SZ/MnVCDx3o5AgwGLTi H7JXTNwwAm8MUqdXWHRQqnA9H2RLHVWRVfKjt4ufWTkkvBETP/1P9YqnwTrPRolg25eZ uZVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762955881; x=1763560681; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=WKI2WWDSSYsdVEJOZk5W4fS5lWjxFmf5V01i9cQXFSY=; b=wJnE2p+m8QQmo/YJJiV1G7Wh1YkHjhxLe9Z4q5bMyjKdJsGfTUBVYqiedngkI+dm80 YAOOmGpUVYRF0b+pPY12f7OlkQPkU8+Q9c2/PMSZ9ZtywvY10AddbmEFYh9DtHH9RHYD vqLurssJxb69Zbse/ecUhLtWKFcOzvf/6IPsvATQvikuMgYKdM/RQfYOS/c597DHbF8r 7/7cOKjhprVJtQyS7Auww4zJOiw97gSpp1f/sCsEUG8qa1gllpkvZDv83sFgD4mkedXy WnfACBx5JxpvAoEgZsYhW/pfaR4VFDRUjNk+9xzbgAxdxGMBr+j2bYHAxOpfRD4rCHg0 SPMQ== X-Gm-Message-State: AOJu0Yz2dcoFfMSzeE0wY6ss4KkPPuoGyCtN1Las5WcyeJF2BrpaQKeQ GDdyt2H2G6MUBmPytqRd3lRJHd8guWkteu8rJM4BWHMgymR8oyhrRl/nNf3NKj0GeVViim0pnnJ 2c+Br6AT9NoPWCCJp6HCH8sufYCYrOO0/FE3m X-Gm-Gg: ASbGncsbK2Am/Xw8K3gjNXTAHFUrwohpLC3mcQENYdO62R5Wb4h/vgY/GbncCp3FEnv UE/KsRVy0BVE5AmmF/tiBk2QQEs/rP1mHFqFonbv/HhbQeCFscMRmtDDQUx2qbpyOG/0yu9FAo7 pnHLZhgGfMe23wuyeH1SfVKWWLjK05DOcqsPk3oFFfAbTRQEq3Lu/YsTyB42WDamAqAoxmkDraL F8BkMHrIjmdGFTYecQQjgB/YRjhyTorH7sTP0DeYAcF16sMi880a7lGm/TqmPWiq7lJuWu4HNk+ MuwmR88qek41/S/C1P2UUZ2h8sqcIb/s22Rrh4A7xwkxsXDtIMqo8YllhebD9O0OangJ4pJdK+e 3gfuH X-Google-Smtp-Source: AGHT+IFGwJPw/9C+Ymzu+9Dv6W7/p71wHIgpT4/bvKjuMooXmB2U6pjn0WKtbO3aDMLkFRFjqHwS1CSkcbizej8HC3M= X-Received: by 2002:a05:622a:507:b0:4ed:a7fc:e1b3 with SMTP id d75a77b69052e-4eddbd9f75emr38027051cf.60.1762955881324; Wed, 12 Nov 2025 05:58:01 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: John Naylor Date: Wed, 12 Nov 2025 20:57:49 +0700 X-Gm-Features: AWmQ_bk-lV5JQDKtxLsZPcyuiAvkCvPFmBLZS9T2TMdeuC6zqfs4ixTe1TkAwgw Message-ID: Subject: Re: tuple radix sort To: PostgreSQL Hackers Cc: Peter Geoghegan Content-Type: multipart/mixed; boundary="0000000000000fd3bb0643662729" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000000fd3bb0643662729 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Nov 3, 2025 at 8:24=E2=80=AFPM I wrote: > v1 was careful to restore isnull1 to false when diverting to quicksort > for the tiebreak. v2 doesn't bother, since the only tiebreak in core > that looks at isnull1 is comparetup_datum_tiebreak, which is not > reachable by radix sort, requiring a pass-by-value datum that compares > like an integer. This is a bit of a risk, since it's possible a third > party fork could be doing something weird. Seems unlikely, but > something to keep in mind. I decided I wasn't quite comfortable with the full normalized datum sharing space in SortTuple with isnull1. There's too much of a cognitive burden involved in deciding when we do or don't need to reset isnull1, and there's a non-zero risk of difficult-to-detect bugs. For v4 I've instead used one byte of padding space in SortTuple to store only the byte used for the current pass. That means we must compute the normalized datum on every pass. That's actually better than it sounds, since that one byte can now be used directly during the "deal" step, rather than having to extract the byte from the normalized datum by shifting and masking. That extraction step might add significant cycles in cases where a pass requires multiple iterations through the "deal" loop. It doesn't seem to make much difference in practice, performance-wise, even with the following pessimization: I had to scrap the qsort specialization on the normalized datum for small sorts, since it's no longer stored. It could still be worth it to compute the "next byte of the normalized datum" and perform a qsort on that (falling back to the comparator function in the usual way), but I haven't felt the need to resort to that yet. For v4, I just divert to qsort_tuple in non-assert builds, with a threshold of 40. > - I don't quite like how the NULL partitioning step looks, and it > could be costly when the distribution of NULL is not predictable, so > I'm thinking of turning part of that into a branch-free cyclic > permutation, similar to > https://www.postgresql.org/message-id/CANWCAZbAmaZ7P%2BARjS97sJLXsBB5CPZy= zFgqNDiqe-L%2BBqXzug%40mail.gmail.com This is done. Even though the inner loop is mysterious at first glance, it's really quite elegant. I made an attempt at clean-up, but it's still under-commented. The common prefix detection has moved to a separate patch (v4-0004). I've been forcing all eligible sorts to use radix sort in assert builds, even when small enough that qsort would be faster. Since both qsort and in-place radix sort are unstable, it's expected that some regression tests need adjustment (v4-0002). One thing surprised me, however: The pg_upgrade TAP test that runs regression tests on the old cluster showed additional failures that I can't explain. I haven't seen this before, but it's possible I never ran TAP tests when testing new sort algorithms previously. This doesn't happen if you change the current insertion sort threshold, so I haven't been able to reproduce it aside from this patch. For that reason I can't completely rule out an actual bug, although I actually have more confidence in the verification of correct sort order in v4, since isnull1 now never changes, just as in master. I found that changing some tests to have additional sort keys seems to fix it (v4-0003). I did this in a rather quick and haphazard fashion. There's probably a longer conversation to be had about making test output more deterministic while still covering the intended executor paths. Aside from that, this seems like a good place to settle down, so I'm going to create a CF entry for this. I'll start more rigorous performance testing in the near future. -- John Naylor Amazon Web Services --0000000000000fd3bb0643662729 Content-Type: text/x-patch; charset="US-ASCII"; name="v4-0004-Detect-common-prefix-to-avoid-wasted-work-during-.patch" Content-Disposition: attachment; filename="v4-0004-Detect-common-prefix-to-avoid-wasted-work-during-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mhw2b7qk0 RnJvbSBkODE2ZjkyZTFjMjkwYzc3MWJmZDMyM2ZmYmE2ZjMzMzE5YTRlYjcyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIE5heWxvciA8am9obi5uYXlsb3JAcG9zdGdyZXNxbC5v cmc+CkRhdGU6IFdlZCwgMTIgTm92IDIwMjUgMTQ6MzE6MjQgKzA3MDAKU3ViamVjdDogW1BBVENI IHY0IDQvNF0gRGV0ZWN0IGNvbW1vbiBwcmVmaXggdG8gYXZvaWQgd2FzdGVkIHdvcmsgZHVyaW5n IHJhZGl4CiBzb3J0CgpUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgZm9yIGludGVnZXJzLCBz aW5jZSB0aGV5IGNvbW1vbmx5CmhhdmUgc29tZSB6ZXJvIHVwcGVyIGJ5dGVzLgotLS0KIHNyYy9i YWNrZW5kL3V0aWxzL3NvcnQvdHVwbGVzb3J0LmMgfCA1MyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvc29ydC90dXBsZXNvcnQuYyBiL3NyYy9i YWNrZW5kL3V0aWxzL3NvcnQvdHVwbGVzb3J0LmMKaW5kZXggM2VmYzIyZGUyNGUuLjY4ZmE5YzEz Y2E4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9zb3J0L3R1cGxlc29ydC5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL3NvcnQvdHVwbGVzb3J0LmMKQEAgLTEwNCw2ICsxMDQsNyBAQAog I2luY2x1ZGUgImNvbW1hbmRzL3RhYmxlc3BhY2UuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIK ICNpbmNsdWRlICJwZ190cmFjZS5oIgorI2luY2x1ZGUgInBvcnQvcGdfYml0dXRpbHMuaCIKICNp bmNsdWRlICJzdG9yYWdlL3NobWVtLmgiCiAjaW5jbHVkZSAidXRpbHMvZ3VjLmgiCiAjaW5jbHVk ZSAidXRpbHMvbWVtdXRpbHMuaCIKQEAgLTI5ODAsOSArMjk4MSw1OSBAQCBzb3J0X2J5dmFsdWVf ZGF0dW0oVHVwbGVzb3J0c3RhdGUgKnN0YXRlKQogCQl9CiAJCWVsc2UKIAkJeworCQkJaW50CQkJ Y29tbW9uX3ByZWZpeDsKKwkJCURhdHVtCQlmaXJzdF9kYXR1bSA9IDA7CisJCQlEYXR1bQkJY29t bW9uX3VwcGVyX2JpdHMgPSAwOworCisJCQkvKgorCQkJICogQ29tcHV0ZSB0aGUgY29tbW9uIHBy ZWZpeCB0byBza2lwIHVucHJvZHVjdGl2ZSByZWN1cnNpb24gc3RlcHMKKwkJCSAqIGR1cmluZyBy YWRpeCBzb3J0LgorCQkJICovCisJCQlmb3IgKFNvcnRUdXBsZSAqdHVwID0gbm90X251bGxfc3Rh cnQ7CisJCQkJIHR1cCA8IG5vdF9udWxsX3N0YXJ0ICsgbm90X251bGxfY291bnQ7CisJCQkJIHR1 cCsrKQorCQkJeworCQkJCURhdHVtCQl0aGlzX2RhdHVtID0gdHVwLT5kYXR1bTE7CisKKwkJCQlp ZiAodHVwID09IG5vdF9udWxsX3N0YXJ0KQorCQkJCXsKKwkJCQkJLyoKKwkJCQkJICogTmVlZCB0 byBzdGFydCB3aXRoIHNvbWUgdmFsdWUsIG1heSBhcyB3ZWxsIGJlIHRoZSBmaXJzdAorCQkJCQkg KiBvbmUuCisJCQkJCSAqLworCQkJCQlmaXJzdF9kYXR1bSA9IHRoaXNfZGF0dW07CisJCQkJfQor CQkJCWVsc2UKKwkJCQl7CisJCQkJCURhdHVtCQl0aGlzX2NvbW1vbl9iaXRzOworCisJCQkJCS8q IFRoZSBiaXRzIGluIGNvbW1vbiB3aWxsIGJlIHplcm8gKi8KKwkJCQkJdGhpc19jb21tb25fYml0 cyA9IGZpcnN0X2RhdHVtIF4gdGhpc19kYXR1bTsKKworCQkJCQkvKgorCQkJCQkgKiBXZSdyZSBy ZWFsbHkgb25seSBpbnRlcmVzdGVkIGluIHRoZSBjYXNlIHdoZXJlIHRoZQorCQkJCQkgKiBsZWZ0 bW9zdCBvbmUgYml0IGlzIGZ1cnRoZXIgbGVmdCwgYnV0IHRoaXMgYnJhbmNoCisJCQkJCSAqIHNo b3VsZCBiZSBwcmVkaWN0YWJsZSBlbm91Z2ggbm90IHRvIHdhc3RlIGN5Y2xlcyB0cnlpbmcKKwkJ CQkJICogaGFyZGVyLgorCQkJCQkgKi8KKwkJCQkJaWYgKHRoaXNfY29tbW9uX2JpdHMgPiBjb21t b25fdXBwZXJfYml0cykKKwkJCQkJCWNvbW1vbl91cHBlcl9iaXRzID0gdGhpc19jb21tb25fYml0 czsKKwkJCQl9CisJCQl9CisKKwkJCS8qCisJCQkgKiBUaGUgdXBwZXIgYml0cyBvZiBjb21tb25f dXBwZXJfYml0cyBhcmUgemVybyB3aGVyZSBhbGwgdmFsdWVzCisJCQkgKiBoYXZlIHRoZSBzYW1l IGJpdHMuIFRoZSBieXRlIHBvc2l0aW9uIG9mIHRoZSBsZWZ0bW9zdCBvbmUgYml0CisJCQkgKiBp cyB0aGUgYnl0ZSB3aGVyZSByYWRpeCBzb3J0IHNob3VsZCBzdGFydCBidWNrZXRpbmcuIE9SLWlu ZyBpbgorCQkJICogdGhlIGxvd2VzdCBiaXQgZ3VhcmRzIGFnYWluc3QgdW5kZWZpbmVkIGJlaGF2 aW9yIHdpdGhvdXQKKwkJCSAqIGNoYW5naW5nIHRoZSByZXN1bHQuCisJCQkgKi8KKwkJCWNvbW1v bl9wcmVmaXggPSBzaXplb2YoRGF0dW0pIC0gMSAtCisJCQkJKHBnX2xlZnRtb3N0X29uZV9wb3M2 NChjb21tb25fdXBwZXJfYml0cyB8IDEpIC8gQklUU19QRVJfQllURSk7CisKIAkJCXJhZGl4X3Nv cnRfdHVwbGUobm90X251bGxfc3RhcnQsCiAJCQkJCQkJIG5vdF9udWxsX2NvdW50LAotCQkJCQkJ CSAwLAorCQkJCQkJCSBjb21tb25fcHJlZml4LAogCQkJCQkJCSBzdGF0ZSk7CiAJCX0KIAl9Ci0t IAoyLjUxLjEKCg== --0000000000000fd3bb0643662729 Content-Type: text/x-patch; charset="US-ASCII"; name="v4-0002-WIP-Adjust-regression-tests.patch" Content-Disposition: attachment; filename="v4-0002-WIP-Adjust-regression-tests.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mhw2b7rv2 RnJvbSAxMmQwNjAzYTNhYTk0YjAzM2I0MTExZDE5NDRmMmIwNTRmMDA2MjhkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIE5heWxvciA8am9obi5uYXlsb3JAcG9zdGdyZXNxbC5v cmc+CkRhdGU6IFR1ZSwgMTEgTm92IDIwMjUgMTc6NDE6MjYgKzA3MDAKU3ViamVjdDogW1BBVENI IHY0IDIvNF0gV0lQIEFkanVzdCByZWdyZXNzaW9uIHRlc3RzCgpSZWdyZXNzaW9uIHRlc3RzIGRv bid0IHBhc3MgZm9yIHVuZGVyc3BlY2lmaWVkIHF1ZXJpZXM7IHRoaXMKaXMgZXhwZWN0ZWQgc2lu Y2UgYm90aCBxc29ydCBhbmQgaW4tcGxhY2UgcmFkaXggc29ydCBhcmUKdW5zdGFibGUgc29ydHMu IEZvciB0aGUgcXVlcnkKClNFTEVDVCBhLCBiIGZyb20gbXl0YWJsZSBPUkRFUiBCWSBhOwoKLi4u YSBzdGFibGUgc29ydCB3b3VsZCBndWFyYW50ZWUgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mICdi Jwpmb3IgZWFjaCBncm91cCBvZiAnYScsIGNvbXBhcmVkIHRvIHRoZSBpbnB1dC4KClRoaXMgaXMg c2VwYXJhdGVkIG91dCBzaW5jZSB0aGUgcmVsYXRpdmUgb3JkZXIgY2hhbmdlcyB3aXRoCnRoZSBx c29ydCB0aHJlc2hvbGQsIHNhbWUgYXMgaXQgd291bGQgZm9yIHFzb3J0IGFuZCBpdHMKaW5zZXJ0 aW9uIHNvcnQgdGhyZXNob2xkLiBBc3NlcnQgYnVpbGRzIGFsd2F5cyBkbyByYWRpeApzb3J0IHJl Z2FyZGxlc3Mgb2YgaW5wdXQgc2l6ZSwgaWYgdGhlIGRhdGEgdHlwZSBhbGxvd3MgaXQuClRoZSBm aW5hbCBjb21taXQgd2lsbCBoYXZlIHRoZSBzYW1lIHRocmVzaG9sZCBmb3IgYWxsIGJ1aWxkcy4K LS0tCiBjb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9leHBlY3RlZC9kbWwub3V0ICAgfCAgIDYg Ky0KIC4uLi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dCAgICB8ICAgOCAr LQogc3JjL2JhY2tlbmQvdXRpbHMvc29ydC90dXBsZXNvcnQuYyAgICAgICAgICAgIHwgICAxIC0K IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZ3JvdXBpbmdzZXRzLm91dCAgICB8ICAgMiArLQog c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9pbmV0Lm91dCAgICAgICAgICAgIHwgICA0ICstCiBz cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pvaW4ub3V0ICAgICAgICAgICAgfCAgMjAgKy0KIHNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGxhbmNhY2hlLm91dCAgICAgICB8ICAgOCArLQogc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zcWxqc29uLm91dCAgICAgICAgIHwgICA4ICstCiBzcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3RzcmYub3V0ICAgICAgICAgICAgfCAgMzggKy0KIHNyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdHVwbGVzb3J0Lm91dCAgICAgICB8ICAgNiArLQogc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC93aW5kb3cub3V0ICAgICAgICAgIHwgNTAwICsrKysrKysrKy0t LS0tLS0tLQogMTEgZmlsZXMgY2hhbmdlZCwgMzAwIGluc2VydGlvbnMoKyksIDMwMSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9leHBlY3RlZC9k bWwub3V0IGIvY29udHJpYi9wZ19zdGF0X3N0YXRlbWVudHMvZXhwZWN0ZWQvZG1sLm91dAppbmRl eCAzNDdjYjg2OTllNC4uYWE2ZTkxZTFjN2YgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdfc3RhdF9z dGF0ZW1lbnRzL2V4cGVjdGVkL2RtbC5vdXQKKysrIGIvY29udHJpYi9wZ19zdGF0X3N0YXRlbWVu dHMvZXhwZWN0ZWQvZG1sLm91dApAQCAtNDQsMTIgKzQ0LDEyIEBAIFNFTEVDVCAqCiBTRUxFQ1Qg KiBGUk9NIHBnc3NfZG1sX3RhYiBPUkRFUiBCWSBhOwogIGEgfCAgICAgICAgICBiICAgICAgICAg ICAKIC0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSB8IGEgICAgICAgICAgICAgICAgICAg CiAgMSB8IDExMSAgICAgICAgICAgICAgICAgCi0gMiB8IGIgICAgICAgICAgICAgICAgICAgCisg MSB8IGEgICAgICAgICAgICAgICAgICAgCiAgMiB8IDIyMiAgICAgICAgICAgICAgICAgCi0gMyB8 IGMgICAgICAgICAgICAgICAgICAgCisgMiB8IGIgICAgICAgICAgICAgICAgICAgCiAgMyB8IDMz MyAgICAgICAgICAgICAgICAgCisgMyB8IGMgICAgICAgICAgICAgICAgICAgCiAgNCB8IDQ0NCAg ICAgICAgICAgICAgICAgCiAgNSB8IDU1NSAgICAgICAgICAgICAgICAgCiAgNiB8IDY2NiAgICAg ICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9w b3N0Z3Jlc19mZHcub3V0IGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNf ZmR3Lm91dAppbmRleCBjZDI4MTI2MDQ5ZC4uOTVmOGZkMzg4ZTYgMTAwNjQ0Ci0tLSBhL2NvbnRy aWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQKKysrIGIvY29udHJpYi9w b3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dApAQCAtMjYyNiwxNSArMjYyNiwx NSBAQCBTRUxFQ1QgKiBGUk9NIGZ0MSwgZnQ0LCBmdDUsIGxvY2FsX3RibCBXSEVSRSBmdDEuYzEg PSBmdDQuYzEgQU5EIGZ0MS5jMSA9IGZ0NS5jMQogIDEyIHwgIDIgfCAwMDAxMiB8IFR1ZSBKYW4g MTMgMDA6MDA6MDAgMTk3MCBQU1QgfCBUdWUgSmFuIDEzIDAwOjAwOjAwIDE5NzAgfCAyICB8IDIg ICAgICAgICAgfCBmb28gfCAxMiB8IDEzIHwgQUFBMDEyIHwgMTIgfCAxMyB8IEFBQTAxMiB8ICAy IHwgIDIgfCAwMDAyCiAgNDIgfCAgMiB8IDAwMDQyIHwgVGh1IEZlYiAxMiAwMDowMDowMCAxOTcw IFBTVCB8IFRodSBGZWIgMTIgMDA6MDA6MDAgMTk3MCB8IDIgIHwgMiAgICAgICAgICB8IGZvbyB8 IDQyIHwgNDMgfCBBQUEwNDIgfCA0MiB8IDQzIHwgQUFBMDQyIHwgIDIgfCAgMiB8IDAwMDIKICA3 MiB8ICAyIHwgMDAwNzIgfCBTYXQgTWFyIDE0IDAwOjAwOjAwIDE5NzAgUFNUIHwgU2F0IE1hciAx NCAwMDowMDowMCAxOTcwIHwgMiAgfCAyICAgICAgICAgIHwgZm9vIHwgNzIgfCA3MyB8IEFBQTA3 MiB8IDcyIHwgNzMgfCAgICAgICAgfCAgMiB8ICAyIHwgMDAwMgotIDI0IHwgIDQgfCAwMDAyNCB8 IFN1biBKYW4gMjUgMDA6MDA6MDAgMTk3MCBQU1QgfCBTdW4gSmFuIDI1IDAwOjAwOjAwIDE5NzAg fCA0ICB8IDQgICAgICAgICAgfCBmb28gfCAyNCB8IDI1IHwgQUFBMDI0IHwgMjQgfCAyNSB8IEFB QTAyNCB8ICA0IHwgIDQgfCAwMDA0CiAgNTQgfCAgNCB8IDAwMDU0IHwgVHVlIEZlYiAyNCAwMDow MDowMCAxOTcwIFBTVCB8IFR1ZSBGZWIgMjQgMDA6MDA6MDAgMTk3MCB8IDQgIHwgNCAgICAgICAg ICB8IGZvbyB8IDU0IHwgNTUgfCBBQUEwNTQgfCA1NCB8IDU1IHwgICAgICAgIHwgIDQgfCAgNCB8 IDAwMDQKKyAyNCB8ICA0IHwgMDAwMjQgfCBTdW4gSmFuIDI1IDAwOjAwOjAwIDE5NzAgUFNUIHwg U3VuIEphbiAyNSAwMDowMDowMCAxOTcwIHwgNCAgfCA0ICAgICAgICAgIHwgZm9vIHwgMjQgfCAy NSB8IEFBQTAyNCB8IDI0IHwgMjUgfCBBQUEwMjQgfCAgNCB8ICA0IHwgMDAwNAogIDg0IHwgIDQg fCAwMDA4NCB8IFRodSBNYXIgMjYgMDA6MDA6MDAgMTk3MCBQU1QgfCBUaHUgTWFyIDI2IDAwOjAw OjAwIDE5NzAgfCA0ICB8IDQgICAgICAgICAgfCBmb28gfCA4NCB8IDg1IHwgQUFBMDg0IHwgODQg fCA4NSB8IEFBQTA4NCB8ICA0IHwgIDQgfCAwMDA0Ci0gOTYgfCAgNiB8IDAwMDk2IHwgVHVlIEFw ciAwNyAwMDowMDowMCAxOTcwIFBTVCB8IFR1ZSBBcHIgMDcgMDA6MDA6MDAgMTk3MCB8IDYgIHwg NiAgICAgICAgICB8IGZvbyB8IDk2IHwgOTcgfCBBQUEwOTYgfCA5NiB8IDk3IHwgQUFBMDk2IHwg IDYgfCAgNiB8IDAwMDYKKyAgNiB8ICA2IHwgMDAwMDYgfCBXZWQgSmFuIDA3IDAwOjAwOjAwIDE5 NzAgUFNUIHwgV2VkIEphbiAwNyAwMDowMDowMCAxOTcwIHwgNiAgfCA2ICAgICAgICAgIHwgZm9v IHwgIDYgfCAgNyB8IEFBQTAwNiB8ICA2IHwgIDcgfCBBQUEwMDYgfCAgNiB8ICA2IHwgMDAwNgog IDM2IHwgIDYgfCAwMDAzNiB8IEZyaSBGZWIgMDYgMDA6MDA6MDAgMTk3MCBQU1QgfCBGcmkgRmVi IDA2IDAwOjAwOjAwIDE5NzAgfCA2ICB8IDYgICAgICAgICAgfCBmb28gfCAzNiB8IDM3IHwgQUFB MDM2IHwgMzYgfCAzNyB8ICAgICAgICB8ICA2IHwgIDYgfCAwMDA2CiAgNjYgfCAgNiB8IDAwMDY2 IHwgU3VuIE1hciAwOCAwMDowMDowMCAxOTcwIFBTVCB8IFN1biBNYXIgMDggMDA6MDA6MDAgMTk3 MCB8IDYgIHwgNiAgICAgICAgICB8IGZvbyB8IDY2IHwgNjcgfCBBQUEwNjYgfCA2NiB8IDY3IHwg QUFBMDY2IHwgIDYgfCAgNiB8IDAwMDYKLSAgNiB8ICA2IHwgMDAwMDYgfCBXZWQgSmFuIDA3IDAw OjAwOjAwIDE5NzAgUFNUIHwgV2VkIEphbiAwNyAwMDowMDowMCAxOTcwIHwgNiAgfCA2ICAgICAg ICAgIHwgZm9vIHwgIDYgfCAgNyB8IEFBQTAwNiB8ICA2IHwgIDcgfCBBQUEwMDYgfCAgNiB8ICA2 IHwgMDAwNgotIDQ4IHwgIDggfCAwMDA0OCB8IFdlZCBGZWIgMTggMDA6MDA6MDAgMTk3MCBQU1Qg fCBXZWQgRmViIDE4IDAwOjAwOjAwIDE5NzAgfCA4ICB8IDggICAgICAgICAgfCBmb28gfCA0OCB8 IDQ5IHwgQUFBMDQ4IHwgNDggfCA0OSB8IEFBQTA0OCB8ICA4IHwgIDggfCAwMDA4CisgOTYgfCAg NiB8IDAwMDk2IHwgVHVlIEFwciAwNyAwMDowMDowMCAxOTcwIFBTVCB8IFR1ZSBBcHIgMDcgMDA6 MDA6MDAgMTk3MCB8IDYgIHwgNiAgICAgICAgICB8IGZvbyB8IDk2IHwgOTcgfCBBQUEwOTYgfCA5 NiB8IDk3IHwgQUFBMDk2IHwgIDYgfCAgNiB8IDAwMDYKICAxOCB8ICA4IHwgMDAwMTggfCBNb24g SmFuIDE5IDAwOjAwOjAwIDE5NzAgUFNUIHwgTW9uIEphbiAxOSAwMDowMDowMCAxOTcwIHwgOCAg fCA4ICAgICAgICAgIHwgZm9vIHwgMTggfCAxOSB8IEFBQTAxOCB8IDE4IHwgMTkgfCAgICAgICAg fCAgOCB8ICA4IHwgMDAwOAorIDQ4IHwgIDggfCAwMDA0OCB8IFdlZCBGZWIgMTggMDA6MDA6MDAg MTk3MCBQU1QgfCBXZWQgRmViIDE4IDAwOjAwOjAwIDE5NzAgfCA4ICB8IDggICAgICAgICAgfCBm b28gfCA0OCB8IDQ5IHwgQUFBMDQ4IHwgNDggfCA0OSB8IEFBQTA0OCB8ICA4IHwgIDggfCAwMDA4 CiAgNzggfCAgOCB8IDAwMDc4IHwgRnJpIE1hciAyMCAwMDowMDowMCAxOTcwIFBTVCB8IEZyaSBN YXIgMjAgMDA6MDA6MDAgMTk3MCB8IDggIHwgOCAgICAgICAgICB8IGZvbyB8IDc4IHwgNzkgfCBB QUEwNzggfCA3OCB8IDc5IHwgQUFBMDc4IHwgIDggfCAgOCB8IDAwMDgKICgxMyByb3dzKQogCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9zb3J0L3R1cGxlc29ydC5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvc29ydC90dXBsZXNvcnQuYwppbmRleCBjMmI5NjI1YWU4OC4uM2VmYzIyZGUyNGUg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL3NvcnQvdHVwbGVzb3J0LmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvc29ydC90dXBsZXNvcnQuYwpAQCAtMTA0LDcgKzEwNCw2IEBACiAjaW5j bHVkZSAiY29tbWFuZHMvdGFibGVzcGFjZS5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgogI2lu Y2x1ZGUgInBnX3RyYWNlLmgiCi0jaW5jbHVkZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2luY2x1 ZGUgInN0b3JhZ2Uvc2htZW0uaCIKICNpbmNsdWRlICJ1dGlscy9ndWMuaCIKICNpbmNsdWRlICJ1 dGlscy9tZW11dGlscy5oIgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9n cm91cGluZ3NldHMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ncm91cGluZ3NldHMu b3V0CmluZGV4IDM5OGNmNjk2NWUwLi4wMmFiZWJkYjBkNyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9ncm91cGluZ3NldHMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvZ3JvdXBpbmdzZXRzLm91dApAQCAtOTQsOCArOTQsOCBAQCBzZWxlY3QgYSwgYiwg Z3JvdXBpbmcoYSxiKSwgc3VtKHYpLCBjb3VudCgqKSwgbWF4KHYpCiAgMSB8ICAgfCAgICAgICAg MSB8ICA2MCB8ICAgICA1IHwgIDE0CiAgMSB8IDEgfCAgICAgICAgMCB8ICAyMSB8ICAgICAyIHwg IDExCiAgMiB8ICAgfCAgICAgICAgMSB8ICAxNSB8ICAgICAxIHwgIDE1Ci0gMyB8ICAgfCAgICAg ICAgMSB8ICAzMyB8ICAgICAyIHwgIDE3CiAgMSB8IDIgfCAgICAgICAgMCB8ICAyNSB8ICAgICAy IHwgIDEzCisgMyB8ICAgfCAgICAgICAgMSB8ICAzMyB8ICAgICAyIHwgIDE3CiAgMSB8IDMgfCAg ICAgICAgMCB8ICAxNCB8ICAgICAxIHwgIDE0CiAgNCB8ICAgfCAgICAgICAgMSB8ICAzNyB8ICAg ICAyIHwgIDE5CiAgNCB8IDEgfCAgICAgICAgMCB8ICAzNyB8ICAgICAyIHwgIDE5CmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2luZXQub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9pbmV0Lm91dAppbmRleCAxNzA1YmZmNGRkMy4uODVhM2E2YTdkZTUgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvaW5ldC5vdXQKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9pbmV0Lm91dApAQCAtNDY1LDkgKzQ2NSw5IEBAIFNFTEVDVCAqIEZS T00gaW5ldF90YmwgV0hFUkUgaSA8ICcxOTIuMTY4LjEuMC8yNCc6OmNpZHIgT1JERVIgQlkgaTsK ICAgICAgIGMgICAgICB8ICAgICAgaSAgICAgIAogLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t CiAgMTAuMC4wLjAvOCAgfCA5LjEuMi4zLzgKLSAxMC4wLjAuMC8zMiB8IDEwLjEuMi4zLzgKICAx MC4wLjAuMC84ICB8IDEwLjEuMi4zLzgKICAxMC4wLjAuMC84ICB8IDEwLjEuMi4zLzgKKyAxMC4w LjAuMC8zMiB8IDEwLjEuMi4zLzgKICAxMC4xLjAuMC8xNiB8IDEwLjEuMi4zLzE2CiAgMTAuMS4y LjAvMjQgfCAxMC4xLjIuMy8yNAogIDEwLjEuMi4zLzMyIHwgMTAuMS4yLjMKQEAgLTYxMyw5ICs2 MTMsOSBAQCBTRUxFQ1QgKiBGUk9NIGluZXRfdGJsIFdIRVJFIGkgPCAnMTkyLjE2OC4xLjAvMjQn OjpjaWRyIE9SREVSIEJZIGk7CiAgICAgICBjICAgICAgfCAgICAgIGkgICAgICAKIC0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLQogIDEwLjAuMC4wLzggIHwgOS4xLjIuMy84Ci0gMTAuMC4wLjAv MzIgfCAxMC4xLjIuMy84CiAgMTAuMC4wLjAvOCAgfCAxMC4xLjIuMy84CiAgMTAuMC4wLjAvOCAg fCAxMC4xLjIuMy84CisgMTAuMC4wLjAvMzIgfCAxMC4xLjIuMy84CiAgMTAuMS4wLjAvMTYgfCAx MC4xLjIuMy8xNgogIDEwLjEuMi4wLzI0IHwgMTAuMS4yLjMvMjQKICAxMC4xLjIuMy8zMiB8IDEw LjEuMi4zCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pvaW4ub3V0IGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9qb2luLm91dAppbmRleCAwZTgyY2ExODY3YS4uOWI2 YTlmNTM2ZDMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvam9pbi5vdXQK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9qb2luLm91dApAQCAtMjIwLDggKzIyMCw4 IEBAIFNFTEVDVCB0MS5hLCB0Mi5lCiAtLS0rLS0tLQogIDAgfCAgIAogIDEgfCAtMQotIDIgfCAg MgogIDIgfCAgNAorIDIgfCAgMgogIDMgfCAtMwogIDUgfCAtNQogIDUgfCAtNQpAQCAtMTU3NSw4 ICsxNTc1LDggQEAgU0VMRUNUICoKIC0tLSstLS0rLS0tLS0tLSstLS0tCiAgMCB8ICAgfCB6ZXJv ICB8ICAgCiAgMSB8IDQgfCBvbmUgICB8IC0xCi0gMiB8IDMgfCB0d28gICB8ICAyCiAgMiB8IDMg fCB0d28gICB8ICA0CisgMiB8IDMgfCB0d28gICB8ICAyCiAgMyB8IDIgfCB0aHJlZSB8IC0zCiAg NSB8IDAgfCBmaXZlICB8IC01CiAgNSB8IDAgfCBmaXZlICB8IC01CkBAIC0xNTg5LDggKzE1ODks OCBAQCBTRUxFQ1QgKgogLS0tKy0tLSstLS0tLS0tKy0tLS0KICAwIHwgICB8IHplcm8gIHwgICAK ICAxIHwgNCB8IG9uZSAgIHwgLTEKLSAyIHwgMyB8IHR3byAgIHwgIDIKICAyIHwgMyB8IHR3byAg IHwgIDQKKyAyIHwgMyB8IHR3byAgIHwgIDIKICAzIHwgMiB8IHRocmVlIHwgLTMKICA1IHwgMCB8 IGZpdmUgIHwgLTUKICA1IHwgMCB8IGZpdmUgIHwgLTUKQEAgLTE2ODMsOCArMTY4Myw4IEBAIFNF TEVDVCAqCiAtLS0rLS0tKy0tLS0tLS0rLS0tLQogIDAgfCAgIHwgemVybyAgfCAgIAogIDEgfCA0 IHwgb25lICAgfCAtMQotIDIgfCAzIHwgdHdvICAgfCAgMgogIDIgfCAzIHwgdHdvICAgfCAgNAor IDIgfCAzIHwgdHdvICAgfCAgMgogIDMgfCAyIHwgdGhyZWUgfCAtMwogIDUgfCAwIHwgZml2ZSAg fCAtNQogIDUgfCAwIHwgZml2ZSAgfCAtNQpAQCAtMTY5Niw4ICsxNjk2LDggQEAgU0VMRUNUICoK IC0tLSstLS0rLS0tLS0tLSstLS0tCiAgMCB8ICAgfCB6ZXJvICB8ICAgCiAgMSB8IDQgfCBvbmUg ICB8IC0xCi0gMiB8IDMgfCB0d28gICB8ICAyCiAgMiB8IDMgfCB0d28gICB8ICA0CisgMiB8IDMg fCB0d28gICB8ICAyCiAgMyB8IDIgfCB0aHJlZSB8IC0zCiAgNSB8IDAgfCBmaXZlICB8IC01CiAg NSB8IDAgfCBmaXZlICB8IC01CkBAIC0xNzIwLDggKzE3MjAsOCBAQCBTRUxFQ1QgKgogLS0tKy0t LSstLS0tLS0tKy0tLS0KICAwIHwgICB8IHplcm8gIHwgICAKICAxIHwgNCB8IG9uZSAgIHwgLTEK LSAyIHwgMyB8IHR3byAgIHwgIDIKICAyIHwgMyB8IHR3byAgIHwgIDQKKyAyIHwgMyB8IHR3byAg IHwgIDIKICAzIHwgMiB8IHRocmVlIHwgLTMKICA1IHwgMCB8IGZpdmUgIHwgLTUKICA1IHwgMCB8 IGZpdmUgIHwgLTUKQEAgLTE3MzYsOCArMTczNiw4IEBAIFNFTEVDVCAqCiAtLS0rLS0tKy0tLS0t LS0rLS0tKy0tLS0KICAwIHwgICB8IHplcm8gIHwgMCB8ICAgCiAgMSB8IDQgfCBvbmUgICB8IDEg fCAtMQotIDIgfCAzIHwgdHdvICAgfCAyIHwgIDIKICAyIHwgMyB8IHR3byAgIHwgMiB8ICA0Cisg MiB8IDMgfCB0d28gICB8IDIgfCAgMgogIDMgfCAyIHwgdGhyZWUgfCAzIHwgLTMKICA1IHwgMCB8 IGZpdmUgIHwgNSB8IC01CiAgNSB8IDAgfCBmaXZlICB8IDUgfCAtNQpAQCAtMTgyMCw4ICsxODIw LDggQEAgU0VMRUNUICoKIC0tLSstLS0rLS0tLS0tLSstLS0tCiAgMCB8ICAgfCB6ZXJvICB8ICAg CiAgMSB8IDQgfCBvbmUgICB8IC0xCi0gMiB8IDMgfCB0d28gICB8ICAyCiAgMiB8IDMgfCB0d28g ICB8ICA0CisgMiB8IDMgfCB0d28gICB8ICAyCiAgMyB8IDIgfCB0aHJlZSB8IC0zCiAgNSB8IDAg fCBmaXZlICB8IC01CiAgNSB8IDAgfCBmaXZlICB8IC01CkBAIC0xODM1LDggKzE4MzUsOCBAQCBT RUxFQ1QgKgogLS0tKy0tLSstLS0tLS0tKy0tLS0KICAwIHwgICB8IHplcm8gIHwgICAKICAxIHwg NCB8IG9uZSAgIHwgLTEKLSAyIHwgMyB8IHR3byAgIHwgIDIKICAyIHwgMyB8IHR3byAgIHwgIDQK KyAyIHwgMyB8IHR3byAgIHwgIDIKICAzIHwgMiB8IHRocmVlIHwgLTMKICA1IHwgMCB8IGZpdmUg IHwgLTUKICA1IHwgMCB8IGZpdmUgIHwgLTUKQEAgLTI3NzYsOCArMjc3Niw4IEBAIHNlbGVjdCAq IGZyb20KIC0tLSstLS0rLS0tLS0tLSstLS0rLS0tLQogICAgfCAgIHwgICAgICAgfCAgIHwgIDAK ICAgIHwgICB8ICAgICAgIHwgICB8ICAgCi0gICB8IDAgfCB6ZXJvICB8ICAgfCAgIAogICAgfCAg IHwgbnVsbCAgfCAgIHwgICAKKyAgIHwgMCB8IHplcm8gIHwgICB8ICAgCiAgOCB8IDggfCBlaWdo dCB8ICAgfCAgIAogIDcgfCA3IHwgc2V2ZW4gfCAgIHwgICAKICA2IHwgNiB8IHNpeCAgIHwgICB8 ICAgCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BsYW5jYWNoZS5vdXQg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BsYW5jYWNoZS5vdXQKaW5kZXggNGU1OTE4ODE5 NmMuLjQxNDQwYzEwY2RkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Bs YW5jYWNoZS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wbGFuY2FjaGUub3V0 CkBAIC0zOCw4ICszOCw4IEBAIEVYRUNVVEUgcHJlcHN0bXQ7CiAgNDU2Nzg5MDEyMzQ1Njc4OSB8 IC00NTY3ODkwMTIzNDU2Nzg5CiAgNDU2Nzg5MDEyMzQ1Njc4OSB8ICAgICAgICAgICAgICAgMTIz CiAgICAgICAgICAgICAgIDEyMyB8ICAgICAgICAgICAgICAgNDU2Ci0gICAgICAgICAgICAgIDEy MyB8ICA0NTY3ODkwMTIzNDU2Nzg5CiAgNDU2Nzg5MDEyMzQ1Njc4OSB8ICA0NTY3ODkwMTIzNDU2 Nzg5CisgICAgICAgICAgICAgIDEyMyB8ICA0NTY3ODkwMTIzNDU2Nzg5CiAoNSByb3dzKQogCiBF WEVDVVRFIHByZXBzdG10MigxMjMpOwpAQCAtNjQsOCArNjQsOCBAQCBFWEVDVVRFIHByZXBzdG10 OwogIDQ1Njc4OTAxMjM0NTY3ODkgfCAtNDU2Nzg5MDEyMzQ1Njc4OQogIDQ1Njc4OTAxMjM0NTY3 ODkgfCAgICAgICAgICAgICAgIDEyMwogICAgICAgICAgICAgICAxMjMgfCAgICAgICAgICAgICAg IDQ1NgotICAgICAgICAgICAgICAxMjMgfCAgNDU2Nzg5MDEyMzQ1Njc4OQogIDQ1Njc4OTAxMjM0 NTY3ODkgfCAgNDU2Nzg5MDEyMzQ1Njc4OQorICAgICAgICAgICAgICAxMjMgfCAgNDU2Nzg5MDEy MzQ1Njc4OQogKDUgcm93cykKIAogRVhFQ1VURSBwcmVwc3RtdDIoMTIzKTsKQEAgLTg2LDggKzg2 LDggQEAgRVhFQ1VURSB2cHJlcDsKICA0NTY3ODkwMTIzNDU2Nzg5IHwgLTQ1Njc4OTAxMjM0NTY3 ODkKICA0NTY3ODkwMTIzNDU2Nzg5IHwgICAgICAgICAgICAgICAxMjMKICAgICAgICAgICAgICAg MTIzIHwgICAgICAgICAgICAgICA0NTYKLSAgICAgICAgICAgICAgMTIzIHwgIDQ1Njc4OTAxMjM0 NTY3ODkKICA0NTY3ODkwMTIzNDU2Nzg5IHwgIDQ1Njc4OTAxMjM0NTY3ODkKKyAgICAgICAgICAg ICAgMTIzIHwgIDQ1Njc4OTAxMjM0NTY3ODkKICg1IHJvd3MpCiAKIENSRUFURSBPUiBSRVBMQUNF IFRFTVAgVklFVyBwY2FjaGV2aWV3IEFTCkBAIC05OCw4ICs5OCw4IEBAIEVYRUNVVEUgdnByZXA7 CiAgNDU2Nzg5MDEyMzQ1Njc4OSB8IC0yMjgzOTQ1MDYxNzI4Mzk0CiAgNDU2Nzg5MDEyMzQ1Njc4 OSB8ICAgICAgICAgICAgICAgIDYxCiAgICAgICAgICAgICAgIDEyMyB8ICAgICAgICAgICAgICAg MjI4Ci0gICAgICAgICAgICAgIDEyMyB8ICAyMjgzOTQ1MDYxNzI4Mzk0CiAgNDU2Nzg5MDEyMzQ1 Njc4OSB8ICAyMjgzOTQ1MDYxNzI4Mzk0CisgICAgICAgICAgICAgIDEyMyB8ICAyMjgzOTQ1MDYx NzI4Mzk0CiAoNSByb3dzKQogCiAtLSBDaGVjayBiYXNpYyBTUEkgcGxhbiBpbnZhbGlkYXRpb24K ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3FsanNvbi5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3NxbGpzb24ub3V0CmluZGV4IGM3YjllNTc1NDQ1Li4xM2Zh NGYyMjYyZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zcWxqc29uLm91 dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3NxbGpzb24ub3V0CkBAIC04NzAsMTAg Kzg3MCwxMCBAQCBGUk9NCiAgICA0IHwgWzQsIDRdCiAgICA0IHwgWzQsIDRdCiAgICAyIHwgWzQs IDRdCi0gICA1IHwgWzUsIDMsIDVdCi0gICAzIHwgWzUsIDMsIDVdCi0gICAxIHwgWzUsIDMsIDVd Ci0gICA1IHwgWzUsIDMsIDVdCisgICAzIHwgWzMsIDUsIDVdCisgICAxIHwgWzMsIDUsIDVdCisg ICA1IHwgWzMsIDUsIDVdCisgICA1IHwgWzMsIDUsIDVdCiAgICAgIHwgCiAgICAgIHwgCiAgICAg IHwgCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3RzcmYub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC90c3JmLm91dAppbmRleCBjNGY3YjE4N2Y1Yi4uZmQzOTE0 YjBmYWQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdHNyZi5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90c3JmLm91dApAQCAtMzU0LDE4ICszNTQsMTgg QEAgU0VMRUNUIGRhdGFhLCBkYXRhYiBiLCBnZW5lcmF0ZV9zZXJpZXMoMSwyKSBnLCBjb3VudCgq KSBGUk9NIGZldyBHUk9VUCBCWSBDVUJFKGQKICBhICAgICB8IGZvbyB8IDEgfCAgICAgMQogIGEg ICAgIHwgICAgIHwgMSB8ICAgICAyCiAgYiAgICAgfCBiYXIgfCAxIHwgICAgIDEKLSBiICAgICB8 ICAgICB8IDEgfCAgICAgMQotICAgICAgIHwgICAgIHwgMSB8ICAgICAzCiAgICAgICAgfCBiYXIg fCAxIHwgICAgIDIKICAgICAgICB8IGZvbyB8IDEgfCAgICAgMQotICAgICAgIHwgZm9vIHwgMiB8 ICAgICAxCisgICAgICAgfCAgICAgfCAxIHwgICAgIDMKKyBiICAgICB8ICAgICB8IDEgfCAgICAg MQogIGEgICAgIHwgYmFyIHwgMiB8ICAgICAxCi0gYiAgICAgfCAgICAgfCAyIHwgICAgIDEKICBh ICAgICB8IGZvbyB8IDIgfCAgICAgMQotICAgICAgIHwgYmFyIHwgMiB8ICAgICAyCiAgYSAgICAg fCAgICAgfCAyIHwgICAgIDIKLSAgICAgICB8ICAgICB8IDIgfCAgICAgMwogIGIgICAgIHwgYmFy IHwgMiB8ICAgICAxCisgICAgICAgfCBiYXIgfCAyIHwgICAgIDIKKyAgICAgICB8IGZvbyB8IDIg fCAgICAgMQorIGIgICAgIHwgICAgIHwgMiB8ICAgICAxCisgICAgICAgfCAgICAgfCAyIHwgICAg IDMKICgxNiByb3dzKQogCiBTRUxFQ1QgZGF0YWEsIGRhdGFiIGIsIGdlbmVyYXRlX3Nlcmllcygx LDIpIGcsIGNvdW50KCopIEZST00gZmV3IEdST1VQIEJZIENVQkUoZGF0YWEsIGRhdGFiLCBnKTsK QEAgLTQzMywyNiArNDMzLDI2IEBAIFNFTEVDVCBkYXRhYSwgZGF0YWIgYiwgZ2VuZXJhdGVfc2Vy aWVzKDEsMikgZywgY291bnQoKikgRlJPTSBmZXcgR1JPVVAgQlkgQ1VCRShkCiAgYSAgICAgfCBm b28gfCAxIHwgICAgIDEKICBiICAgICB8IGJhciB8IDEgfCAgICAgMQogICAgICAgIHwgYmFyIHwg MSB8ICAgICAyCi0gICAgICAgfCBmb28gfCAxIHwgICAgIDEKKyAgICAgICB8ICAgICB8IDEgfCAg ICAgMwogIGEgICAgIHwgICAgIHwgMSB8ICAgICAyCiAgYiAgICAgfCAgICAgfCAxIHwgICAgIDEK LSAgICAgICB8ICAgICB8IDEgfCAgICAgMworICAgICAgIHwgZm9vIHwgMSB8ICAgICAxCisgYSAg ICAgfCBiYXIgfCAyIHwgICAgIDEKKyBhICAgICB8IGZvbyB8IDIgfCAgICAgMQorIGIgICAgIHwg YmFyIHwgMiB8ICAgICAxCisgICAgICAgfCBiYXIgfCAyIHwgICAgIDIKICBhICAgICB8ICAgICB8 IDIgfCAgICAgMgogIGIgICAgIHwgICAgIHwgMiB8ICAgICAxCi0gICAgICAgfCBiYXIgfCAyIHwg ICAgIDIKICAgICAgICB8ICAgICB8IDIgfCAgICAgMwogICAgICAgIHwgZm9vIHwgMiB8ICAgICAx Ci0gYSAgICAgfCBiYXIgfCAyIHwgICAgIDEKLSBhICAgICB8IGZvbyB8IDIgfCAgICAgMQotIGIg ICAgIHwgYmFyIHwgMiB8ICAgICAxCi0gYSAgICAgfCAgICAgfCAgIHwgICAgIDQKLSBiICAgICB8 IGJhciB8ICAgfCAgICAgMgotIGIgICAgIHwgICAgIHwgICB8ICAgICAyCisgYSAgICAgfCBiYXIg fCAgIHwgICAgIDIKKyAgICAgICB8IGZvbyB8ICAgfCAgICAgMgogICAgICAgIHwgICAgIHwgICB8 ICAgICA2CiAgYSAgICAgfCBmb28gfCAgIHwgICAgIDIKLSBhICAgICB8IGJhciB8ICAgfCAgICAg MgorIGEgICAgIHwgICAgIHwgICB8ICAgICA0CiAgICAgICAgfCBiYXIgfCAgIHwgICAgIDQKLSAg ICAgICB8IGZvbyB8ICAgfCAgICAgMgorIGIgICAgIHwgYmFyIHwgICB8ICAgICAyCisgYiAgICAg fCAgICAgfCAgIHwgICAgIDIKICgyNCByb3dzKQogCiByZXNldCBlbmFibGVfaGFzaGFnZzsKQEAg LTYwMCw4ICs2MDAsOCBAQCBGUk9NIChWQUxVRVMgKDMsIDIpLCAoMywxKSwgKDEsMSksICgxLDQp LCAoNSwzKSwgKDUsMSkpIEFTIHQoYSwgYik7CiAgYSB8IGIgfCBnIAogLS0tKy0tLSstLS0KICAz IHwgMiB8IDEKLSA1IHwgMSB8IDIKLSAzIHwgMSB8IDMKKyAzIHwgMiB8IDIKKyAzIHwgMiB8IDMK ICgzIHJvd3MpCiAKIC0tIExJTUlUIC8gT0ZGU0VUIGlzIGV2YWx1YXRlZCBhZnRlciBTUkYgZXZh bHVhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90dXBsZXNvcnQu b3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90dXBsZXNvcnQub3V0CmluZGV4IDZkZDk3 ZTc0MjdhLi5mYzEzMjFiZjQ0MyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC90dXBsZXNvcnQub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdHVwbGVzb3J0 Lm91dApAQCAtMzA0LDkgKzMwNCw5IEBAIEZST00gYWJicmV2X2Fib3J0X3V1aWRzCiBPUkRFUiBC WSBjdGlkIERFU0MgTElNSVQgNTsKICAgaWQgICB8ICAgICAgICAgICBhYm9ydF9pbmNyZWFzaW5n ICAgICAgICAgICB8ICAgICAgICAgICBhYm9ydF9kZWNyZWFzaW5nICAgICAgICAgICB8ICAgICAg ICAgIG5vYWJvcnRfaW5jcmVhc2luZyAgICAgICAgICB8ICAgICAgICAgIG5vYWJvcnRfZGVjcmVh c2luZyAgICAgICAgICAKIC0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KLSAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IAogIDIwMDAyIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCiAgMjAwMDMgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyAgICAg MCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IAogIDEwMDA5IHwgMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDEwMDA4IHwg MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDA5OTkyIHwgMDAwMTAwMDgtMDAwMC0wMDAw LTAwMDAtMDAwMDAwMDEwMDA4IHwgMDAwMDk5OTItMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDA5OTky CiAgMTAwMDggfCAwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMTAwMDcgfCAwMDAwMDAw MC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDk5OTMgfCAwMDAxMDAwNy0wMDAwLTAwMDAtMDAwMC0w MDAwMDAwMTAwMDcgfCAwMDAwOTk5My0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDk5OTMKICg1IHJv d3MpCkBAIC0zMzUsOSArMzM1LDkgQEAgRlJPTSBhYmJyZXZfYWJvcnRfdXVpZHMKIE9SREVSIEJZ IGN0aWQgREVTQyBMSU1JVCA1OwogICBpZCAgIHwgICAgICAgICAgIGFib3J0X2luY3JlYXNpbmcg ICAgICAgICAgIHwgICAgICAgICAgIGFib3J0X2RlY3JlYXNpbmcgICAgICAgICAgIHwgICAgICAg ICAgbm9hYm9ydF9pbmNyZWFzaW5nICAgICAgICAgIHwgICAgICAgICAgbm9hYm9ydF9kZWNyZWFz aW5nICAgICAgICAgIAogLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQotICAgICAwIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgCi0gMjAwMDMgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKICAyMDAwMiB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIDIwMDAz IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgCisgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAKICAgOTk5MyB8IDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAw MDAwMDAwOTk5MiB8IDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAxMDAwOCB8IDAwMDA5 OTkyLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwOTk5MiB8IDAwMDEwMDA4LTAwMDAtMDAwMC0wMDAw LTAwMDAwMDAxMDAwOAogICA5OTk0IHwgMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDA5 OTkzIHwgMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDEwMDA3IHwgMDAwMDk5OTMtMDAw MC0wMDAwLTAwMDAtMDAwMDAwMDA5OTkzIHwgMDAwMTAwMDctMDAwMC0wMDAwLTAwMDAtMDAwMDAw MDEwMDA3CiAoNSByb3dzKQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93 aW5kb3cub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aW5kb3cub3V0CmluZGV4IDll MmY1MzcyNmY1Li5iM2NkZWFlYTRiMyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC93aW5kb3cub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2luZG93Lm91 dApAQCAtOTUsMTMgKzk1LDEzIEBAIFNFTEVDVCBkZXBuYW1lLCBlbXBubywgc2FsYXJ5LCByYW5r KCkgT1ZFUiB3IEZST00gZW1wc2FsYXJ5IFdJTkRPVyB3IEFTIChQQVJUSVRJCiAtLS0tLS0tLS0t LSstLS0tLS0tKy0tLS0tLS0tKy0tLS0tLQogIGRldmVsb3AgICB8ICAgICA3IHwgICA0MjAwIHwg ICAgMQogIHBlcnNvbm5lbCB8ICAgICA1IHwgICAzNTAwIHwgICAgMQotIHNhbGVzICAgICB8ICAg ICAzIHwgICA0ODAwIHwgICAgMQogIHNhbGVzICAgICB8ICAgICA0IHwgICA0ODAwIHwgICAgMQot IHBlcnNvbm5lbCB8ICAgICAyIHwgICAzOTAwIHwgICAgMgorIHNhbGVzICAgICB8ICAgICAzIHwg ICA0ODAwIHwgICAgMQogIGRldmVsb3AgICB8ICAgICA5IHwgICA0NTAwIHwgICAgMgotIHNhbGVz ICAgICB8ICAgICAxIHwgICA1MDAwIHwgICAgMworIHBlcnNvbm5lbCB8ICAgICAyIHwgICAzOTAw IHwgICAgMgogIGRldmVsb3AgICB8ICAgIDExIHwgICA1MjAwIHwgICAgMwogIGRldmVsb3AgICB8 ICAgIDEwIHwgICA1MjAwIHwgICAgMworIHNhbGVzICAgICB8ICAgICAxIHwgICA1MDAwIHwgICAg MwogIGRldmVsb3AgICB8ICAgICA4IHwgICA2MDAwIHwgICAgNQogKDEwIHJvd3MpCiAKQEAgLTM5 NCwxMiArMzk0LDEyIEBAIFNFTEVDVCBmaXJzdF92YWx1ZSh0ZW4pIE9WRVIgKFBBUlRJVElPTiBC WSBmb3VyIE9SREVSIEJZIHRlbiksIHRlbiwgZm91ciBGUk9NIHRlCiBTRUxFQ1QgbGFzdF92YWx1 ZShmb3VyKSBPVkVSIChPUkRFUiBCWSB0ZW4pLCB0ZW4sIGZvdXIgRlJPTSB0ZW5rMSBXSEVSRSB1 bmlxdWUyIDwgMTA7CiAgbGFzdF92YWx1ZSB8IHRlbiB8IGZvdXIgCiAtLS0tLS0tLS0tLS0rLS0t LS0rLS0tLS0tCi0gICAgICAgICAgMCB8ICAgMCB8ICAgIDAKLSAgICAgICAgICAwIHwgICAwIHwg ICAgMgotICAgICAgICAgIDAgfCAgIDAgfCAgICAwCi0gICAgICAgICAgMSB8ICAgMSB8ICAgIDEK KyAgICAgICAgICAyIHwgICAwIHwgICAgMAorICAgICAgICAgIDIgfCAgIDAgfCAgICAwCisgICAg ICAgICAgMiB8ICAgMCB8ICAgIDIKICAgICAgICAgICAxIHwgICAxIHwgICAgMwogICAgICAgICAg IDEgfCAgIDEgfCAgICAxCisgICAgICAgICAgMSB8ICAgMSB8ICAgIDEKICAgICAgICAgICAzIHwg ICAzIHwgICAgMwogICAgICAgICAgIDAgfCAgIDQgfCAgICAwCiAgICAgICAgICAgMSB8ICAgNyB8 ICAgIDEKQEAgLTgyMSwxNCArODIxLDE0IEBAIFNFTEVDVCBzdW0odW5pcXVlMSkgb3ZlciAob3Jk ZXIgYnkgZm91ciByYW5nZSBiZXR3ZWVuIGN1cnJlbnQgcm93IGFuZCB1bmJvdW5kZWQKIEZST00g dGVuazEgV0hFUkUgdW5pcXVlMSA8IDEwOwogIHN1bSB8IHVuaXF1ZTEgfCBmb3VyIAogLS0tLS0r LS0tLS0tLS0tKy0tLS0tLQotICA0NSB8ICAgICAgIDAgfCAgICAwCi0gIDQ1IHwgICAgICAgOCB8 ICAgIDAKICAgNDUgfCAgICAgICA0IHwgICAgMAotICAzMyB8ICAgICAgIDUgfCAgICAxCi0gIDMz IHwgICAgICAgOSB8ICAgIDEKKyAgNDUgfCAgICAgICA4IHwgICAgMAorICA0NSB8ICAgICAgIDAg fCAgICAwCiAgIDMzIHwgICAgICAgMSB8ICAgIDEKLSAgMTggfCAgICAgICA2IHwgICAgMgorICAz MyB8ICAgICAgIDkgfCAgICAxCisgIDMzIHwgICAgICAgNSB8ICAgIDEKICAgMTggfCAgICAgICAy IHwgICAgMgorICAxOCB8ICAgICAgIDYgfCAgICAyCiAgIDEwIHwgICAgICAgMyB8ICAgIDMKICAg MTAgfCAgICAgICA3IHwgICAgMwogKDEwIHJvd3MpCkBAIC05NDAsMTQgKzk0MCwxNCBAQCBTRUxF Q1QgZmlyc3RfdmFsdWUodW5pcXVlMSkgb3ZlciAoT1JERVIgQlkgZm91ciByb3dzIGJldHdlZW4g Y3VycmVudCByb3cgYW5kIDIgZgogRlJPTSB0ZW5rMSBXSEVSRSB1bmlxdWUxIDwgMTA7CiAgZmly c3RfdmFsdWUgfCB1bmlxdWUxIHwgZm91ciAKIC0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LQotICAgICAgICAgICA4IHwgICAgICAgMCB8ICAgIDAKLSAgICAgICAgICAgNCB8ICAgICAgIDgg fCAgICAwCi0gICAgICAgICAgIDUgfCAgICAgICA0IHwgICAgMAotICAgICAgICAgICA5IHwgICAg ICAgNSB8ICAgIDEKLSAgICAgICAgICAgMSB8ICAgICAgIDkgfCAgICAxCi0gICAgICAgICAgIDYg fCAgICAgICAxIHwgICAgMQotICAgICAgICAgICAyIHwgICAgICAgNiB8ICAgIDIKLSAgICAgICAg ICAgMyB8ICAgICAgIDIgfCAgICAyCisgICAgICAgICAgIDggfCAgICAgICA0IHwgICAgMAorICAg ICAgICAgICAwIHwgICAgICAgOCB8ICAgIDAKKyAgICAgICAgICAgMSB8ICAgICAgIDAgfCAgICAw CisgICAgICAgICAgIDkgfCAgICAgICAxIHwgICAgMQorICAgICAgICAgICA1IHwgICAgICAgOSB8 ICAgIDEKKyAgICAgICAgICAgMiB8ICAgICAgIDUgfCAgICAxCisgICAgICAgICAgIDYgfCAgICAg ICAyIHwgICAgMgorICAgICAgICAgICAzIHwgICAgICAgNiB8ICAgIDIKICAgICAgICAgICAgNyB8 ICAgICAgIDMgfCAgICAzCiAgICAgICAgICAgICAgfCAgICAgICA3IHwgICAgMwogKDEwIHJvd3Mp CkBAIC05NTcsMTQgKzk1NywxNCBAQCBTRUxFQ1QgZmlyc3RfdmFsdWUodW5pcXVlMSkgb3ZlciAo T1JERVIgQlkgZm91ciByb3dzIGJldHdlZW4gY3VycmVudCByb3cgYW5kIDIgZgogRlJPTSB0ZW5r MSBXSEVSRSB1bmlxdWUxIDwgMTA7CiAgZmlyc3RfdmFsdWUgfCB1bmlxdWUxIHwgZm91ciAKIC0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLQotICAgICAgICAgICAgIHwgICAgICAgMCB8ICAg IDAKLSAgICAgICAgICAgNSB8ICAgICAgIDggfCAgICAwCi0gICAgICAgICAgIDUgfCAgICAgICA0 IHwgICAgMAotICAgICAgICAgICAgIHwgICAgICAgNSB8ICAgIDEKLSAgICAgICAgICAgNiB8ICAg ICAgIDkgfCAgICAxCi0gICAgICAgICAgIDYgfCAgICAgICAxIHwgICAgMQotICAgICAgICAgICAz IHwgICAgICAgNiB8ICAgIDIKKyAgICAgICAgICAgICB8ICAgICAgIDQgfCAgICAwCisgICAgICAg ICAgIDEgfCAgICAgICA4IHwgICAgMAorICAgICAgICAgICAxIHwgICAgICAgMCB8ICAgIDAKKyAg ICAgICAgICAgICB8ICAgICAgIDEgfCAgICAxCisgICAgICAgICAgIDIgfCAgICAgICA5IHwgICAg MQorICAgICAgICAgICAyIHwgICAgICAgNSB8ICAgIDEKICAgICAgICAgICAgMyB8ICAgICAgIDIg fCAgICAyCisgICAgICAgICAgIDMgfCAgICAgICA2IHwgICAgMgogICAgICAgICAgICAgIHwgICAg ICAgMyB8ICAgIDMKICAgICAgICAgICAgICB8ICAgICAgIDcgfCAgICAzCiAoMTAgcm93cykKQEAg LTk3NCwxNCArOTc0LDE0IEBAIFNFTEVDVCBmaXJzdF92YWx1ZSh1bmlxdWUxKSBvdmVyIChPUkRF UiBCWSBmb3VyIHJvd3MgYmV0d2VlbiBjdXJyZW50IHJvdyBhbmQgMiBmCiBGUk9NIHRlbmsxIFdI RVJFIHVuaXF1ZTEgPCAxMDsKICBmaXJzdF92YWx1ZSB8IHVuaXF1ZTEgfCBmb3VyIAogLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tCi0gICAgICAgICAgIDAgfCAgICAgICAwIHwgICAgMAot ICAgICAgICAgICA4IHwgICAgICAgOCB8ICAgIDAKICAgICAgICAgICAgNCB8ICAgICAgIDQgfCAg ICAwCi0gICAgICAgICAgIDUgfCAgICAgICA1IHwgICAgMQotICAgICAgICAgICA5IHwgICAgICAg OSB8ICAgIDEKKyAgICAgICAgICAgOCB8ICAgICAgIDggfCAgICAwCisgICAgICAgICAgIDAgfCAg ICAgICAwIHwgICAgMAogICAgICAgICAgICAxIHwgICAgICAgMSB8ICAgIDEKLSAgICAgICAgICAg NiB8ICAgICAgIDYgfCAgICAyCisgICAgICAgICAgIDkgfCAgICAgICA5IHwgICAgMQorICAgICAg ICAgICA1IHwgICAgICAgNSB8ICAgIDEKICAgICAgICAgICAgMiB8ICAgICAgIDIgfCAgICAyCisg ICAgICAgICAgIDYgfCAgICAgICA2IHwgICAgMgogICAgICAgICAgICAzIHwgICAgICAgMyB8ICAg IDMKICAgICAgICAgICAgNyB8ICAgICAgIDcgfCAgICAzCiAoMTAgcm93cykKQEAgLTk5MSwxNCAr OTkxLDE0IEBAIFNFTEVDVCBsYXN0X3ZhbHVlKHVuaXF1ZTEpIG92ZXIgKE9SREVSIEJZIGZvdXIg cm93cyBiZXR3ZWVuIGN1cnJlbnQgcm93IGFuZCAyIGZvCiBGUk9NIHRlbmsxIFdIRVJFIHVuaXF1 ZTEgPCAxMDsKICBsYXN0X3ZhbHVlIHwgdW5pcXVlMSB8IGZvdXIgCiAtLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLQotICAgICAgICAgIDQgfCAgICAgICAwIHwgICAgMAotICAgICAgICAgIDUg fCAgICAgICA4IHwgICAgMAotICAgICAgICAgIDkgfCAgICAgICA0IHwgICAgMAotICAgICAgICAg IDEgfCAgICAgICA1IHwgICAgMQotICAgICAgICAgIDYgfCAgICAgICA5IHwgICAgMQotICAgICAg ICAgIDIgfCAgICAgICAxIHwgICAgMQotICAgICAgICAgIDMgfCAgICAgICA2IHwgICAgMgotICAg ICAgICAgIDcgfCAgICAgICAyIHwgICAgMgorICAgICAgICAgIDAgfCAgICAgICA0IHwgICAgMAor ICAgICAgICAgIDEgfCAgICAgICA4IHwgICAgMAorICAgICAgICAgIDkgfCAgICAgICAwIHwgICAg MAorICAgICAgICAgIDUgfCAgICAgICAxIHwgICAgMQorICAgICAgICAgIDIgfCAgICAgICA5IHwg ICAgMQorICAgICAgICAgIDYgfCAgICAgICA1IHwgICAgMQorICAgICAgICAgIDMgfCAgICAgICAy IHwgICAgMgorICAgICAgICAgIDcgfCAgICAgICA2IHwgICAgMgogICAgICAgICAgIDcgfCAgICAg ICAzIHwgICAgMwogICAgICAgICAgICAgfCAgICAgICA3IHwgICAgMwogKDEwIHJvd3MpCkBAIC0x MDA4LDE0ICsxMDA4LDE0IEBAIFNFTEVDVCBsYXN0X3ZhbHVlKHVuaXF1ZTEpIG92ZXIgKE9SREVS IEJZIGZvdXIgcm93cyBiZXR3ZWVuIGN1cnJlbnQgcm93IGFuZCAyIGZvCiBGUk9NIHRlbmsxIFdI RVJFIHVuaXF1ZTEgPCAxMDsKICBsYXN0X3ZhbHVlIHwgdW5pcXVlMSB8IGZvdXIgCiAtLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLQotICAgICAgICAgICAgfCAgICAgICAwIHwgICAgMAotICAg ICAgICAgIDUgfCAgICAgICA4IHwgICAgMAotICAgICAgICAgIDkgfCAgICAgICA0IHwgICAgMAot ICAgICAgICAgICAgfCAgICAgICA1IHwgICAgMQotICAgICAgICAgIDYgfCAgICAgICA5IHwgICAg MQotICAgICAgICAgIDIgfCAgICAgICAxIHwgICAgMQotICAgICAgICAgIDMgfCAgICAgICA2IHwg ICAgMgotICAgICAgICAgIDcgfCAgICAgICAyIHwgICAgMgorICAgICAgICAgICAgfCAgICAgICA0 IHwgICAgMAorICAgICAgICAgIDEgfCAgICAgICA4IHwgICAgMAorICAgICAgICAgIDkgfCAgICAg ICAwIHwgICAgMAorICAgICAgICAgICAgfCAgICAgICAxIHwgICAgMQorICAgICAgICAgIDIgfCAg ICAgICA5IHwgICAgMQorICAgICAgICAgIDYgfCAgICAgICA1IHwgICAgMQorICAgICAgICAgIDMg fCAgICAgICAyIHwgICAgMgorICAgICAgICAgIDcgfCAgICAgICA2IHwgICAgMgogICAgICAgICAg ICAgfCAgICAgICAzIHwgICAgMwogICAgICAgICAgICAgfCAgICAgICA3IHwgICAgMwogKDEwIHJv d3MpCkBAIC0xMDI1LDE0ICsxMDI1LDE0IEBAIFNFTEVDVCBsYXN0X3ZhbHVlKHVuaXF1ZTEpIG92 ZXIgKE9SREVSIEJZIGZvdXIgcm93cyBiZXR3ZWVuIGN1cnJlbnQgcm93IGFuZCAyIGZvCiBGUk9N IHRlbmsxIFdIRVJFIHVuaXF1ZTEgPCAxMDsKICBsYXN0X3ZhbHVlIHwgdW5pcXVlMSB8IGZvdXIg CiAtLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLQotICAgICAgICAgIDAgfCAgICAgICAwIHwg ICAgMAotICAgICAgICAgIDUgfCAgICAgICA4IHwgICAgMAotICAgICAgICAgIDkgfCAgICAgICA0 IHwgICAgMAotICAgICAgICAgIDUgfCAgICAgICA1IHwgICAgMQotICAgICAgICAgIDYgfCAgICAg ICA5IHwgICAgMQotICAgICAgICAgIDIgfCAgICAgICAxIHwgICAgMQotICAgICAgICAgIDMgfCAg ICAgICA2IHwgICAgMgotICAgICAgICAgIDcgfCAgICAgICAyIHwgICAgMgorICAgICAgICAgIDQg fCAgICAgICA0IHwgICAgMAorICAgICAgICAgIDEgfCAgICAgICA4IHwgICAgMAorICAgICAgICAg IDkgfCAgICAgICAwIHwgICAgMAorICAgICAgICAgIDEgfCAgICAgICAxIHwgICAgMQorICAgICAg ICAgIDIgfCAgICAgICA5IHwgICAgMQorICAgICAgICAgIDYgfCAgICAgICA1IHwgICAgMQorICAg ICAgICAgIDMgfCAgICAgICAyIHwgICAgMgorICAgICAgICAgIDcgfCAgICAgICA2IHwgICAgMgog ICAgICAgICAgIDMgfCAgICAgICAzIHwgICAgMwogICAgICAgICAgIDcgfCAgICAgICA3IHwgICAg MwogKDEwIHJvd3MpCkBAIC0xMDkzLDE0ICsxMDkzLDE0IEBAIFNFTEVDVCBzdW0odW5pcXVlMSkg b3ZlciAodyByYW5nZSBiZXR3ZWVuIGN1cnJlbnQgcm93IGFuZCB1bmJvdW5kZWQgZm9sbG93aW5n KSwKIEZST00gdGVuazEgV0hFUkUgdW5pcXVlMSA8IDEwIFdJTkRPVyB3IEFTIChvcmRlciBieSBm b3VyKTsKICBzdW0gfCB1bmlxdWUxIHwgZm91ciAKIC0tLS0tKy0tLS0tLS0tLSstLS0tLS0KLSAg NDUgfCAgICAgICAwIHwgICAgMAotICA0NSB8ICAgICAgIDggfCAgICAwCiAgIDQ1IHwgICAgICAg NCB8ICAgIDAKLSAgMzMgfCAgICAgICA1IHwgICAgMQotICAzMyB8ICAgICAgIDkgfCAgICAxCisg IDQ1IHwgICAgICAgOCB8ICAgIDAKKyAgNDUgfCAgICAgICAwIHwgICAgMAogICAzMyB8ICAgICAg IDEgfCAgICAxCi0gIDE4IHwgICAgICAgNiB8ICAgIDIKKyAgMzMgfCAgICAgICA5IHwgICAgMQor ICAzMyB8ICAgICAgIDUgfCAgICAxCiAgIDE4IHwgICAgICAgMiB8ICAgIDIKKyAgMTggfCAgICAg ICA2IHwgICAgMgogICAxMCB8ICAgICAgIDMgfCAgICAzCiAgIDEwIHwgICAgICAgNyB8ICAgIDMK ICgxMCByb3dzKQpAQCAtMTExMCwxNCArMTExMCwxNCBAQCBTRUxFQ1Qgc3VtKHVuaXF1ZTEpIG92 ZXIgKHcgcmFuZ2UgYmV0d2VlbiB1bmJvdW5kZWQgcHJlY2VkaW5nIGFuZCBjdXJyZW50IHJvdyBl eAogRlJPTSB0ZW5rMSBXSEVSRSB1bmlxdWUxIDwgMTAgV0lORE9XIHcgQVMgKG9yZGVyIGJ5IGZv dXIpOwogIHN1bSB8IHVuaXF1ZTEgfCBmb3VyIAogLS0tLS0rLS0tLS0tLS0tKy0tLS0tLQotICAx MiB8ICAgICAgIDAgfCAgICAwCi0gICA0IHwgICAgICAgOCB8ICAgIDAKICAgIDggfCAgICAgICA0 IHwgICAgMAotICAyMiB8ICAgICAgIDUgfCAgICAxCi0gIDE4IHwgICAgICAgOSB8ICAgIDEKKyAg IDQgfCAgICAgICA4IHwgICAgMAorICAxMiB8ICAgICAgIDAgfCAgICAwCiAgIDI2IHwgICAgICAg MSB8ICAgIDEKLSAgMjkgfCAgICAgICA2IHwgICAgMgorICAxOCB8ICAgICAgIDkgfCAgICAxCisg IDIyIHwgICAgICAgNSB8ICAgIDEKICAgMzMgfCAgICAgICAyIHwgICAgMgorICAyOSB8ICAgICAg IDYgfCAgICAyCiAgIDQyIHwgICAgICAgMyB8ICAgIDMKICAgMzggfCAgICAgICA3IHwgICAgMwog KDEwIHJvd3MpCkBAIC0xMTI3LDE0ICsxMTI3LDE0IEBAIFNFTEVDVCBzdW0odW5pcXVlMSkgb3Zl ciAodyByYW5nZSBiZXR3ZWVuIHVuYm91bmRlZCBwcmVjZWRpbmcgYW5kIGN1cnJlbnQgcm93IGV4 CiBGUk9NIHRlbmsxIFdIRVJFIHVuaXF1ZTEgPCAxMCBXSU5ET1cgdyBBUyAob3JkZXIgYnkgZm91 cik7CiAgc3VtIHwgdW5pcXVlMSB8IGZvdXIgCiAtLS0tLSstLS0tLS0tLS0rLS0tLS0tCi0gICAg IHwgICAgICAgMCB8ICAgIDAKLSAgICAgfCAgICAgICA4IHwgICAgMAogICAgICB8ICAgICAgIDQg fCAgICAwCi0gIDEyIHwgICAgICAgNSB8ICAgIDEKLSAgMTIgfCAgICAgICA5IHwgICAgMQorICAg ICB8ICAgICAgIDggfCAgICAwCisgICAgIHwgICAgICAgMCB8ICAgIDAKICAgMTIgfCAgICAgICAx IHwgICAgMQotICAyNyB8ICAgICAgIDYgfCAgICAyCisgIDEyIHwgICAgICAgOSB8ICAgIDEKKyAg MTIgfCAgICAgICA1IHwgICAgMQogICAyNyB8ICAgICAgIDIgfCAgICAyCisgIDI3IHwgICAgICAg NiB8ICAgIDIKICAgMzUgfCAgICAgICAzIHwgICAgMwogICAzNSB8ICAgICAgIDcgfCAgICAzCiAo MTAgcm93cykKQEAgLTExNDQsMTQgKzExNDQsMTQgQEAgU0VMRUNUIHN1bSh1bmlxdWUxKSBvdmVy ICh3IHJhbmdlIGJldHdlZW4gdW5ib3VuZGVkIHByZWNlZGluZyBhbmQgY3VycmVudCByb3cgZXgK IEZST00gdGVuazEgV0hFUkUgdW5pcXVlMSA8IDEwIFdJTkRPVyB3IEFTIChvcmRlciBieSBmb3Vy KTsKICBzdW0gfCB1bmlxdWUxIHwgZm91ciAKIC0tLS0tKy0tLS0tLS0tLSstLS0tLS0KLSAgIDAg fCAgICAgICAwIHwgICAgMAotICAgOCB8ICAgICAgIDggfCAgICAwCiAgICA0IHwgICAgICAgNCB8 ICAgIDAKLSAgMTcgfCAgICAgICA1IHwgICAgMQotICAyMSB8ICAgICAgIDkgfCAgICAxCisgICA4 IHwgICAgICAgOCB8ICAgIDAKKyAgIDAgfCAgICAgICAwIHwgICAgMAogICAxMyB8ICAgICAgIDEg fCAgICAxCi0gIDMzIHwgICAgICAgNiB8ICAgIDIKKyAgMjEgfCAgICAgICA5IHwgICAgMQorICAx NyB8ICAgICAgIDUgfCAgICAxCiAgIDI5IHwgICAgICAgMiB8ICAgIDIKKyAgMzMgfCAgICAgICA2 IHwgICAgMgogICAzOCB8ICAgICAgIDMgfCAgICAzCiAgIDQyIHwgICAgICAgNyB8ICAgIDMKICgx MCByb3dzKQpAQCAtMTE2MywxNCArMTE2MywxNCBAQCBGUk9NIHRlbmsxIFdIRVJFIHVuaXF1ZTEg PCAxMAogV0lORE9XIHcgQVMgKG9yZGVyIGJ5IGZvdXIgcmFuZ2UgYmV0d2VlbiBjdXJyZW50IHJv dyBhbmQgdW5ib3VuZGVkIGZvbGxvd2luZyk7CiAgZmlyc3RfdmFsdWUgfCBudGhfMiB8IGxhc3Rf dmFsdWUgfCB1bmlxdWUxIHwgZm91ciAKIC0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLQotICAgICAgICAgICAwIHwgICAgIDggfCAgICAgICAgICA3IHwg ICAgICAgMCB8ICAgIDAKLSAgICAgICAgICAgMCB8ICAgICA4IHwgICAgICAgICAgNyB8ICAgICAg IDggfCAgICAwCi0gICAgICAgICAgIDAgfCAgICAgOCB8ICAgICAgICAgIDcgfCAgICAgICA0IHwg ICAgMAotICAgICAgICAgICA1IHwgICAgIDkgfCAgICAgICAgICA3IHwgICAgICAgNSB8ICAgIDEK LSAgICAgICAgICAgNSB8ICAgICA5IHwgICAgICAgICAgNyB8ICAgICAgIDkgfCAgICAxCi0gICAg ICAgICAgIDUgfCAgICAgOSB8ICAgICAgICAgIDcgfCAgICAgICAxIHwgICAgMQotICAgICAgICAg ICA2IHwgICAgIDIgfCAgICAgICAgICA3IHwgICAgICAgNiB8ICAgIDIKLSAgICAgICAgICAgNiB8 ICAgICAyIHwgICAgICAgICAgNyB8ICAgICAgIDIgfCAgICAyCisgICAgICAgICAgIDQgfCAgICAg OCB8ICAgICAgICAgIDcgfCAgICAgICA0IHwgICAgMAorICAgICAgICAgICA0IHwgICAgIDggfCAg ICAgICAgICA3IHwgICAgICAgOCB8ICAgIDAKKyAgICAgICAgICAgNCB8ICAgICA4IHwgICAgICAg ICAgNyB8ICAgICAgIDAgfCAgICAwCisgICAgICAgICAgIDEgfCAgICAgOSB8ICAgICAgICAgIDcg fCAgICAgICAxIHwgICAgMQorICAgICAgICAgICAxIHwgICAgIDkgfCAgICAgICAgICA3IHwgICAg ICAgOSB8ICAgIDEKKyAgICAgICAgICAgMSB8ICAgICA5IHwgICAgICAgICAgNyB8ICAgICAgIDUg fCAgICAxCisgICAgICAgICAgIDIgfCAgICAgNiB8ICAgICAgICAgIDcgfCAgICAgICAyIHwgICAg MgorICAgICAgICAgICAyIHwgICAgIDYgfCAgICAgICAgICA3IHwgICAgICAgNiB8ICAgIDIKICAg ICAgICAgICAgMyB8ICAgICA3IHwgICAgICAgICAgNyB8ICAgICAgIDMgfCAgICAzCiAgICAgICAg ICAgIDMgfCAgICAgNyB8ICAgICAgICAgIDcgfCAgICAgICA3IHwgICAgMwogKDEwIHJvd3MpCkBA IC0xMzY3LDE0ICsxMzY3LDE0IEBAIFNFTEVDVCBzdW0odW5pcXVlMSkgb3ZlciAob3JkZXIgYnkg Zm91ciByYW5nZSBiZXR3ZWVuIDI6OmludDggcHJlY2VkaW5nIGFuZCAxOjppCiBGUk9NIHRlbmsx IFdIRVJFIHVuaXF1ZTEgPCAxMDsKICBzdW0gfCB1bmlxdWUxIHwgZm91ciAKIC0tLS0tKy0tLS0t LS0tLSstLS0tLS0KLSAgICAgfCAgICAgICAwIHwgICAgMAotICAgICB8ICAgICAgIDggfCAgICAw CiAgICAgIHwgICAgICAgNCB8ICAgIDAKLSAgMTIgfCAgICAgICA1IHwgICAgMQotICAxMiB8ICAg ICAgIDkgfCAgICAxCisgICAgIHwgICAgICAgOCB8ICAgIDAKKyAgICAgfCAgICAgICAwIHwgICAg MAogICAxMiB8ICAgICAgIDEgfCAgICAxCi0gIDI3IHwgICAgICAgNiB8ICAgIDIKKyAgMTIgfCAg ICAgICA5IHwgICAgMQorICAxMiB8ICAgICAgIDUgfCAgICAxCiAgIDI3IHwgICAgICAgMiB8ICAg IDIKKyAgMjcgfCAgICAgICA2IHwgICAgMgogICAyMyB8ICAgICAgIDMgfCAgICAzCiAgIDIzIHwg ICAgICAgNyB8ICAgIDMKICgxMCByb3dzKQpAQCAtMTM4NiwxNCArMTM4NiwxNCBAQCBGUk9NIHRl bmsxIFdIRVJFIHVuaXF1ZTEgPCAxMDsKIC0tLS0tKy0tLS0tLS0tLSstLS0tLS0KICAgICAgfCAg ICAgICAzIHwgICAgMwogICAgICB8ICAgICAgIDcgfCAgICAzCi0gIDEwIHwgICAgICAgNiB8ICAg IDIKICAgMTAgfCAgICAgICAyIHwgICAgMgorICAxMCB8ICAgICAgIDYgfCAgICAyCiAgIDE4IHwg ICAgICAgOSB8ICAgIDEKICAgMTggfCAgICAgICA1IHwgICAgMQogICAxOCB8ICAgICAgIDEgfCAg ICAxCi0gIDIzIHwgICAgICAgMCB8ICAgIDAKLSAgMjMgfCAgICAgICA4IHwgICAgMAogICAyMyB8 ICAgICAgIDQgfCAgICAwCisgIDIzIHwgICAgICAgOCB8ICAgIDAKKyAgMjMgfCAgICAgICAwIHwg ICAgMAogKDEwIHJvd3MpCiAKIFNFTEVDVCBzdW0odW5pcXVlMSkgb3ZlciAob3JkZXIgYnkgZm91 ciByYW5nZSBiZXR3ZWVuIDI6OmludDggcHJlY2VkaW5nIGFuZCAxOjppbnQyIHByZWNlZGluZyBl eGNsdWRlIG5vIG90aGVycyksCkBAIC0xNDAxLDE0ICsxNDAxLDE0IEBAIFNFTEVDVCBzdW0odW5p cXVlMSkgb3ZlciAob3JkZXIgYnkgZm91ciByYW5nZSBiZXR3ZWVuIDI6OmludDggcHJlY2VkaW5n IGFuZCAxOjppCiBGUk9NIHRlbmsxIFdIRVJFIHVuaXF1ZTEgPCAxMDsKICBzdW0gfCB1bmlxdWUx IHwgZm91ciAKIC0tLS0tKy0tLS0tLS0tLSstLS0tLS0KLSAgICAgfCAgICAgICAwIHwgICAgMAot ICAgICB8ICAgICAgIDggfCAgICAwCiAgICAgIHwgICAgICAgNCB8ICAgIDAKLSAgMTIgfCAgICAg ICA1IHwgICAgMQotICAxMiB8ICAgICAgIDkgfCAgICAxCisgICAgIHwgICAgICAgOCB8ICAgIDAK KyAgICAgfCAgICAgICAwIHwgICAgMAogICAxMiB8ICAgICAgIDEgfCAgICAxCi0gIDI3IHwgICAg ICAgNiB8ICAgIDIKKyAgMTIgfCAgICAgICA5IHwgICAgMQorICAxMiB8ICAgICAgIDUgfCAgICAx CiAgIDI3IHwgICAgICAgMiB8ICAgIDIKKyAgMjcgfCAgICAgICA2IHwgICAgMgogICAyMyB8ICAg ICAgIDMgfCAgICAzCiAgIDIzIHwgICAgICAgNyB8ICAgIDMKICgxMCByb3dzKQpAQCAtMTQxOCwx NCArMTQxOCwxNCBAQCBTRUxFQ1Qgc3VtKHVuaXF1ZTEpIG92ZXIgKG9yZGVyIGJ5IGZvdXIgcmFu Z2UgYmV0d2VlbiAyOjppbnQ4IHByZWNlZGluZyBhbmQgMTo6aQogRlJPTSB0ZW5rMSBXSEVSRSB1 bmlxdWUxIDwgMTA7CiAgc3VtIHwgdW5pcXVlMSB8IGZvdXIgCiAtLS0tLSstLS0tLS0tLS0rLS0t LS0tCi0gICAgIHwgICAgICAgMCB8ICAgIDAKLSAgICAgfCAgICAgICA4IHwgICAgMAogICAgICB8 ICAgICAgIDQgfCAgICAwCi0gIDEyIHwgICAgICAgNSB8ICAgIDEKLSAgMTIgfCAgICAgICA5IHwg ICAgMQorICAgICB8ICAgICAgIDggfCAgICAwCisgICAgIHwgICAgICAgMCB8ICAgIDAKICAgMTIg fCAgICAgICAxIHwgICAgMQotICAyNyB8ICAgICAgIDYgfCAgICAyCisgIDEyIHwgICAgICAgOSB8 ICAgIDEKKyAgMTIgfCAgICAgICA1IHwgICAgMQogICAyNyB8ICAgICAgIDIgfCAgICAyCisgIDI3 IHwgICAgICAgNiB8ICAgIDIKICAgMjMgfCAgICAgICAzIHwgICAgMwogICAyMyB8ICAgICAgIDcg fCAgICAzCiAoMTAgcm93cykKQEAgLTE0MzUsMTQgKzE0MzUsMTQgQEAgU0VMRUNUIHN1bSh1bmlx dWUxKSBvdmVyIChvcmRlciBieSBmb3VyIHJhbmdlIGJldHdlZW4gMjo6aW50OCBwcmVjZWRpbmcg YW5kIDE6OmkKIEZST00gdGVuazEgV0hFUkUgdW5pcXVlMSA8IDEwOwogIHN1bSB8IHVuaXF1ZTEg fCBmb3VyIAogLS0tLS0rLS0tLS0tLS0tKy0tLS0tLQotICAgICB8ICAgICAgIDAgfCAgICAwCi0g ICAgIHwgICAgICAgOCB8ICAgIDAKICAgICAgfCAgICAgICA0IHwgICAgMAotICAxMiB8ICAgICAg IDUgfCAgICAxCi0gIDEyIHwgICAgICAgOSB8ICAgIDEKKyAgICAgfCAgICAgICA4IHwgICAgMAor ICAgICB8ICAgICAgIDAgfCAgICAwCiAgIDEyIHwgICAgICAgMSB8ICAgIDEKLSAgMjcgfCAgICAg ICA2IHwgICAgMgorICAxMiB8ICAgICAgIDkgfCAgICAxCisgIDEyIHwgICAgICAgNSB8ICAgIDEK ICAgMjcgfCAgICAgICAyIHwgICAgMgorICAyNyB8ICAgICAgIDYgfCAgICAyCiAgIDIzIHwgICAg ICAgMyB8ICAgIDMKICAgMjMgfCAgICAgICA3IHwgICAgMwogKDEwIHJvd3MpCkBAIC0xNDUyLDE0 ICsxNDUyLDE0IEBAIFNFTEVDVCBzdW0odW5pcXVlMSkgb3ZlciAob3JkZXIgYnkgZm91ciByYW5n ZSBiZXR3ZWVuIDI6OmludDggcHJlY2VkaW5nIGFuZCAxOjppCiBGUk9NIHRlbmsxIFdIRVJFIHVu aXF1ZTEgPCAxMDsKICBzdW0gfCB1bmlxdWUxIHwgZm91ciAKIC0tLS0tKy0tLS0tLS0tLSstLS0t LS0KLSAgICAgfCAgICAgICAwIHwgICAgMAotICAgICB8ICAgICAgIDggfCAgICAwCiAgICAgIHwg ICAgICAgNCB8ICAgIDAKLSAgMTIgfCAgICAgICA1IHwgICAgMQotICAxMiB8ICAgICAgIDkgfCAg ICAxCisgICAgIHwgICAgICAgOCB8ICAgIDAKKyAgICAgfCAgICAgICAwIHwgICAgMAogICAxMiB8 ICAgICAgIDEgfCAgICAxCi0gIDI3IHwgICAgICAgNiB8ICAgIDIKKyAgMTIgfCAgICAgICA5IHwg ICAgMQorICAxMiB8ICAgICAgIDUgfCAgICAxCiAgIDI3IHwgICAgICAgMiB8ICAgIDIKKyAgMjcg fCAgICAgICA2IHwgICAgMgogICAyMyB8ICAgICAgIDMgfCAgICAzCiAgIDIzIHwgICAgICAgNyB8 ICAgIDMKICgxMCByb3dzKQpAQCAtMTQ2OSwxNCArMTQ2OSwxNCBAQCBTRUxFQ1Qgc3VtKHVuaXF1 ZTEpIG92ZXIgKG9yZGVyIGJ5IGZvdXIgcmFuZ2UgYmV0d2VlbiAyOjppbnQ4IHByZWNlZGluZyBh bmQgNjo6aQogRlJPTSB0ZW5rMSBXSEVSRSB1bmlxdWUxIDwgMTA7CiAgc3VtIHwgdW5pcXVlMSB8 IGZvdXIgCiAtLS0tLSstLS0tLS0tLS0rLS0tLS0tCi0gIDMzIHwgICAgICAgMCB8ICAgIDAKLSAg NDEgfCAgICAgICA4IHwgICAgMAogICAzNyB8ICAgICAgIDQgfCAgICAwCi0gIDM1IHwgICAgICAg NSB8ICAgIDEKLSAgMzkgfCAgICAgICA5IHwgICAgMQorICA0MSB8ICAgICAgIDggfCAgICAwCisg IDMzIHwgICAgICAgMCB8ICAgIDAKICAgMzEgfCAgICAgICAxIHwgICAgMQotICA0MyB8ICAgICAg IDYgfCAgICAyCisgIDM5IHwgICAgICAgOSB8ICAgIDEKKyAgMzUgfCAgICAgICA1IHwgICAgMQog ICAzOSB8ICAgICAgIDIgfCAgICAyCisgIDQzIHwgICAgICAgNiB8ICAgIDIKICAgMjYgfCAgICAg ICAzIHwgICAgMwogICAzMCB8ICAgICAgIDcgfCAgICAzCiAoMTAgcm93cykKQEAgLTE0ODYsMTQg KzE0ODYsMTQgQEAgU0VMRUNUIHN1bSh1bmlxdWUxKSBvdmVyIChvcmRlciBieSBmb3VyIHJhbmdl IGJldHdlZW4gMjo6aW50OCBwcmVjZWRpbmcgYW5kIDY6OmkKIEZST00gdGVuazEgV0hFUkUgdW5p cXVlMSA8IDEwOwogIHN1bSB8IHVuaXF1ZTEgfCBmb3VyIAogLS0tLS0rLS0tLS0tLS0tKy0tLS0t LQotICAzMyB8ICAgICAgIDAgfCAgICAwCi0gIDMzIHwgICAgICAgOCB8ICAgIDAKICAgMzMgfCAg ICAgICA0IHwgICAgMAotICAzMCB8ICAgICAgIDUgfCAgICAxCi0gIDMwIHwgICAgICAgOSB8ICAg IDEKKyAgMzMgfCAgICAgICA4IHwgICAgMAorICAzMyB8ICAgICAgIDAgfCAgICAwCiAgIDMwIHwg ICAgICAgMSB8ICAgIDEKLSAgMzcgfCAgICAgICA2IHwgICAgMgorICAzMCB8ICAgICAgIDkgfCAg ICAxCisgIDMwIHwgICAgICAgNSB8ICAgIDEKICAgMzcgfCAgICAgICAyIHwgICAgMgorICAzNyB8 ICAgICAgIDYgfCAgICAyCiAgIDIzIHwgICAgICAgMyB8ICAgIDMKICAgMjMgfCAgICAgICA3IHwg ICAgMwogKDEwIHJvd3MpCkBAIC0xNTM5LDEzICsxNTM5LDEzIEBAIHNlbGVjdCBzdW0oc2FsYXJ5 KSBvdmVyIChvcmRlciBieSBlbnJvbGxfZGF0ZSByYW5nZSBiZXR3ZWVuICcxIHllYXInOjppbnRl cnZhbCBwCiAgMzQ5MDAgfCAgIDUwMDAgfCAxMC0wMS0yMDA2CiAgMzQ5MDAgfCAgIDYwMDAgfCAx MC0wMS0yMDA2CiAgMzg0MDAgfCAgIDM5MDAgfCAxMi0yMy0yMDA2Ci0gNDcxMDAgfCAgIDQ4MDAg fCAwOC0wMS0yMDA3CiAgNDcxMDAgfCAgIDUyMDAgfCAwOC0wMS0yMDA3CisgNDcxMDAgfCAgIDQ4 MDAgfCAwOC0wMS0yMDA3CiAgNDcxMDAgfCAgIDQ4MDAgfCAwOC0wOC0yMDA3CiAgNDcxMDAgfCAg IDUyMDAgfCAwOC0xNS0yMDA3CiAgMzYxMDAgfCAgIDM1MDAgfCAxMi0xMC0yMDA3Ci0gMzIyMDAg fCAgIDQ1MDAgfCAwMS0wMS0yMDA4CiAgMzIyMDAgfCAgIDQyMDAgfCAwMS0wMS0yMDA4CisgMzIy MDAgfCAgIDQ1MDAgfCAwMS0wMS0yMDA4CiAoMTAgcm93cykKIAogc2VsZWN0IHN1bShzYWxhcnkp IG92ZXIgKG9yZGVyIGJ5IGVucm9sbF9kYXRlIGRlc2MgcmFuZ2UgYmV0d2VlbiAnMSB5ZWFyJzo6 aW50ZXJ2YWwgcHJlY2VkaW5nIGFuZCAnMSB5ZWFyJzo6aW50ZXJ2YWwgZm9sbG93aW5nKSwKQEAg LTE1NTcsOCArMTU1Nyw4IEBAIHNlbGVjdCBzdW0oc2FsYXJ5KSBvdmVyIChvcmRlciBieSBlbnJv bGxfZGF0ZSBkZXNjIHJhbmdlIGJldHdlZW4gJzEgeWVhcic6OmludGVyCiAgMzYxMDAgfCAgIDM1 MDAgfCAxMi0xMC0yMDA3CiAgNDcxMDAgfCAgIDUyMDAgfCAwOC0xNS0yMDA3CiAgNDcxMDAgfCAg IDQ4MDAgfCAwOC0wOC0yMDA3Ci0gNDcxMDAgfCAgIDQ4MDAgfCAwOC0wMS0yMDA3CiAgNDcxMDAg fCAgIDUyMDAgfCAwOC0wMS0yMDA3CisgNDcxMDAgfCAgIDQ4MDAgfCAwOC0wMS0yMDA3CiAgMzg0 MDAgfCAgIDM5MDAgfCAxMi0yMy0yMDA2CiAgMzQ5MDAgfCAgIDUwMDAgfCAxMC0wMS0yMDA2CiAg MzQ5MDAgfCAgIDYwMDAgfCAxMC0wMS0yMDA2CkBAIC0xNTczLDggKzE1NzMsOCBAQCBzZWxlY3Qg c3VtKHNhbGFyeSkgb3ZlciAob3JkZXIgYnkgZW5yb2xsX2RhdGUgZGVzYyByYW5nZSBiZXR3ZWVu ICcxIHllYXInOjppbnRlcgogICAgICB8ICAgMzUwMCB8IDEyLTEwLTIwMDcKICAgICAgfCAgIDUy MDAgfCAwOC0xNS0yMDA3CiAgICAgIHwgICA0ODAwIHwgMDgtMDgtMjAwNwotICAgICB8ICAgNDgw MCB8IDA4LTAxLTIwMDcKICAgICAgfCAgIDUyMDAgfCAwOC0wMS0yMDA3CisgICAgIHwgICA0ODAw IHwgMDgtMDEtMjAwNwogICAgICB8ICAgMzkwMCB8IDEyLTIzLTIwMDYKICAgICAgfCAgIDUwMDAg fCAxMC0wMS0yMDA2CiAgICAgIHwgICA2MDAwIHwgMTAtMDEtMjAwNgpAQCAtMTU4NywxMyArMTU4 NywxMyBAQCBzZWxlY3Qgc3VtKHNhbGFyeSkgb3ZlciAob3JkZXIgYnkgZW5yb2xsX2RhdGUgcmFu Z2UgYmV0d2VlbiAnMSB5ZWFyJzo6aW50ZXJ2YWwgcAogIDI5OTAwIHwgICA1MDAwIHwgMTAtMDEt MjAwNgogIDI4OTAwIHwgICA2MDAwIHwgMTAtMDEtMjAwNgogIDM0NTAwIHwgICAzOTAwIHwgMTIt MjMtMjAwNgotIDQyMzAwIHwgICA0ODAwIHwgMDgtMDEtMjAwNwogIDQxOTAwIHwgICA1MjAwIHwg MDgtMDEtMjAwNworIDQyMzAwIHwgICA0ODAwIHwgMDgtMDEtMjAwNwogIDQyMzAwIHwgICA0ODAw IHwgMDgtMDgtMjAwNwogIDQxOTAwIHwgICA1MjAwIHwgMDgtMTUtMjAwNwogIDMyNjAwIHwgICAz NTAwIHwgMTItMTAtMjAwNwotIDI3NzAwIHwgICA0NTAwIHwgMDEtMDEtMjAwOAogIDI4MDAwIHwg ICA0MjAwIHwgMDEtMDEtMjAwOAorIDI3NzAwIHwgICA0NTAwIHwgMDEtMDEtMjAwOAogKDEwIHJv d3MpCiAKIHNlbGVjdCBzdW0oc2FsYXJ5KSBvdmVyIChvcmRlciBieSBlbnJvbGxfZGF0ZSByYW5n ZSBiZXR3ZWVuICcxIHllYXInOjppbnRlcnZhbCBwcmVjZWRpbmcgYW5kICcxIHllYXInOjppbnRl cnZhbCBmb2xsb3dpbmcKQEAgLTE2MDMsMTMgKzE2MDMsMTMgQEAgc2VsZWN0IHN1bShzYWxhcnkp IG92ZXIgKG9yZGVyIGJ5IGVucm9sbF9kYXRlIHJhbmdlIGJldHdlZW4gJzEgeWVhcic6OmludGVy dmFsIHAKICAyMzkwMCB8ICAgNTAwMCB8IDEwLTAxLTIwMDYKICAyMzkwMCB8ICAgNjAwMCB8IDEw LTAxLTIwMDYKICAzNDUwMCB8ICAgMzkwMCB8IDEyLTIzLTIwMDYKLSAzNzEwMCB8ICAgNDgwMCB8 IDA4LTAxLTIwMDcKICAzNzEwMCB8ICAgNTIwMCB8IDA4LTAxLTIwMDcKKyAzNzEwMCB8ICAgNDgw MCB8IDA4LTAxLTIwMDcKICA0MjMwMCB8ICAgNDgwMCB8IDA4LTA4LTIwMDcKICA0MTkwMCB8ICAg NTIwMCB8IDA4LTE1LTIwMDcKICAzMjYwMCB8ICAgMzUwMCB8IDEyLTEwLTIwMDcKLSAyMzUwMCB8 ICAgNDUwMCB8IDAxLTAxLTIwMDgKICAyMzUwMCB8ICAgNDIwMCB8IDAxLTAxLTIwMDgKKyAyMzUw MCB8ICAgNDUwMCB8IDAxLTAxLTIwMDgKICgxMCByb3dzKQogCiBzZWxlY3Qgc3VtKHNhbGFyeSkg b3ZlciAob3JkZXIgYnkgZW5yb2xsX2RhdGUgcmFuZ2UgYmV0d2VlbiAnMSB5ZWFyJzo6aW50ZXJ2 YWwgcHJlY2VkaW5nIGFuZCAnMSB5ZWFyJzo6aW50ZXJ2YWwgZm9sbG93aW5nCkBAIC0xNjE5LDEz ICsxNjE5LDEzIEBAIHNlbGVjdCBzdW0oc2FsYXJ5KSBvdmVyIChvcmRlciBieSBlbnJvbGxfZGF0 ZSByYW5nZSBiZXR3ZWVuICcxIHllYXInOjppbnRlcnZhbCBwCiAgMjg5MDAgfCAgIDUwMDAgfCAx MC0wMS0yMDA2CiAgMjk5MDAgfCAgIDYwMDAgfCAxMC0wMS0yMDA2CiAgMzg0MDAgfCAgIDM5MDAg fCAxMi0yMy0yMDA2Ci0gNDE5MDAgfCAgIDQ4MDAgfCAwOC0wMS0yMDA3CiAgNDIzMDAgfCAgIDUy MDAgfCAwOC0wMS0yMDA3CisgNDE5MDAgfCAgIDQ4MDAgfCAwOC0wMS0yMDA3CiAgNDcxMDAgfCAg IDQ4MDAgfCAwOC0wOC0yMDA3CiAgNDcxMDAgfCAgIDUyMDAgfCAwOC0xNS0yMDA3CiAgMzYxMDAg fCAgIDM1MDAgfCAxMi0xMC0yMDA3Ci0gMjgwMDAgfCAgIDQ1MDAgfCAwMS0wMS0yMDA4CiAgMjc3 MDAgfCAgIDQyMDAgfCAwMS0wMS0yMDA4CisgMjgwMDAgfCAgIDQ1MDAgfCAwMS0wMS0yMDA4CiAo MTAgcm93cykKIAogc2VsZWN0IGZpcnN0X3ZhbHVlKHNhbGFyeSkgb3ZlcihvcmRlciBieSBzYWxh cnkgcmFuZ2UgYmV0d2VlbiAxMDAwIHByZWNlZGluZyBhbmQgMTAwMCBmb2xsb3dpbmcpLApAQCAt MTcxMCwxMyArMTcxMCwxMyBAQCBzZWxlY3QgZmlyc3RfdmFsdWUoc2FsYXJ5KSBvdmVyKG9yZGVy IGJ5IGVucm9sbF9kYXRlIHJhbmdlIGJldHdlZW4gdW5ib3VuZGVkIHByZQogICAgICAgICA1MDAw IHwgICAgICAgNTIwMCB8ICAgNTAwMCB8IDEwLTAxLTIwMDYKICAgICAgICAgNjAwMCB8ICAgICAg IDUyMDAgfCAgIDYwMDAgfCAxMC0wMS0yMDA2CiAgICAgICAgIDUwMDAgfCAgICAgICAzNTAwIHwg ICAzOTAwIHwgMTItMjMtMjAwNgotICAgICAgICA1MDAwIHwgICAgICAgNDIwMCB8ICAgNDgwMCB8 IDA4LTAxLTIwMDcKLSAgICAgICAgNTAwMCB8ICAgICAgIDQyMDAgfCAgIDUyMDAgfCAwOC0wMS0y MDA3Ci0gICAgICAgIDUwMDAgfCAgICAgICA0MjAwIHwgICA0ODAwIHwgMDgtMDgtMjAwNwotICAg ICAgICA1MDAwIHwgICAgICAgNDIwMCB8ICAgNTIwMCB8IDA4LTE1LTIwMDcKLSAgICAgICAgNTAw MCB8ICAgICAgIDQyMDAgfCAgIDM1MDAgfCAxMi0xMC0yMDA3Ci0gICAgICAgIDUwMDAgfCAgICAg ICA0MjAwIHwgICA0NTAwIHwgMDEtMDEtMjAwOAotICAgICAgICA1MDAwIHwgICAgICAgNDIwMCB8 ICAgNDIwMCB8IDAxLTAxLTIwMDgKKyAgICAgICAgNTAwMCB8ICAgICAgIDQ1MDAgfCAgIDUyMDAg fCAwOC0wMS0yMDA3CisgICAgICAgIDUwMDAgfCAgICAgICA0NTAwIHwgICA0ODAwIHwgMDgtMDEt MjAwNworICAgICAgICA1MDAwIHwgICAgICAgNDUwMCB8ICAgNDgwMCB8IDA4LTA4LTIwMDcKKyAg ICAgICAgNTAwMCB8ICAgICAgIDQ1MDAgfCAgIDUyMDAgfCAwOC0xNS0yMDA3CisgICAgICAgIDUw MDAgfCAgICAgICA0NTAwIHwgICAzNTAwIHwgMTItMTAtMjAwNworICAgICAgICA1MDAwIHwgICAg ICAgNDUwMCB8ICAgNDIwMCB8IDAxLTAxLTIwMDgKKyAgICAgICAgNTAwMCB8ICAgICAgIDQ1MDAg fCAgIDQ1MDAgfCAwMS0wMS0yMDA4CiAoMTAgcm93cykKIAogc2VsZWN0IGZpcnN0X3ZhbHVlKHNh bGFyeSkgb3ZlcihvcmRlciBieSBlbnJvbGxfZGF0ZSByYW5nZSBiZXR3ZWVuIHVuYm91bmRlZCBw cmVjZWRpbmcgYW5kICcxIHllYXInOjppbnRlcnZhbCBmb2xsb3dpbmcKQEAgLTE3MjksMTMgKzE3 MjksMTMgQEAgc2VsZWN0IGZpcnN0X3ZhbHVlKHNhbGFyeSkgb3ZlcihvcmRlciBieSBlbnJvbGxf ZGF0ZSByYW5nZSBiZXR3ZWVuIHVuYm91bmRlZCBwcmUKICAgICAgICAgNTAwMCB8ICAgICAgIDUy MDAgfCAgIDUwMDAgfCAxMC0wMS0yMDA2CiAgICAgICAgIDYwMDAgfCAgICAgICA1MjAwIHwgICA2 MDAwIHwgMTAtMDEtMjAwNgogICAgICAgICA1MDAwIHwgICAgICAgMzUwMCB8ICAgMzkwMCB8IDEy LTIzLTIwMDYKLSAgICAgICAgNTAwMCB8ICAgICAgIDQyMDAgfCAgIDQ4MDAgfCAwOC0wMS0yMDA3 Ci0gICAgICAgIDUwMDAgfCAgICAgICA0MjAwIHwgICA1MjAwIHwgMDgtMDEtMjAwNwotICAgICAg ICA1MDAwIHwgICAgICAgNDIwMCB8ICAgNDgwMCB8IDA4LTA4LTIwMDcKLSAgICAgICAgNTAwMCB8 ICAgICAgIDQyMDAgfCAgIDUyMDAgfCAwOC0xNS0yMDA3Ci0gICAgICAgIDUwMDAgfCAgICAgICA0 MjAwIHwgICAzNTAwIHwgMTItMTAtMjAwNwotICAgICAgICA1MDAwIHwgICAgICAgNDUwMCB8ICAg NDUwMCB8IDAxLTAxLTIwMDgKKyAgICAgICAgNTAwMCB8ICAgICAgIDQ1MDAgfCAgIDUyMDAgfCAw OC0wMS0yMDA3CisgICAgICAgIDUwMDAgfCAgICAgICA0NTAwIHwgICA0ODAwIHwgMDgtMDEtMjAw NworICAgICAgICA1MDAwIHwgICAgICAgNDUwMCB8ICAgNDgwMCB8IDA4LTA4LTIwMDcKKyAgICAg ICAgNTAwMCB8ICAgICAgIDQ1MDAgfCAgIDUyMDAgfCAwOC0xNS0yMDA3CisgICAgICAgIDUwMDAg fCAgICAgICA0NTAwIHwgICAzNTAwIHwgMTItMTAtMjAwNwogICAgICAgICA1MDAwIHwgICAgICAg NDIwMCB8ICAgNDIwMCB8IDAxLTAxLTIwMDgKKyAgICAgICAgNTAwMCB8ICAgICAgIDQ1MDAgfCAg IDQ1MDAgfCAwMS0wMS0yMDA4CiAoMTAgcm93cykKIAogc2VsZWN0IGZpcnN0X3ZhbHVlKHNhbGFy eSkgb3ZlcihvcmRlciBieSBlbnJvbGxfZGF0ZSByYW5nZSBiZXR3ZWVuIHVuYm91bmRlZCBwcmVj ZWRpbmcgYW5kICcxIHllYXInOjppbnRlcnZhbCBmb2xsb3dpbmcKQEAgLTE3NDgsMTMgKzE3NDgs MTMgQEAgc2VsZWN0IGZpcnN0X3ZhbHVlKHNhbGFyeSkgb3ZlcihvcmRlciBieSBlbnJvbGxfZGF0 ZSByYW5nZSBiZXR3ZWVuIHVuYm91bmRlZCBwcmUKICAgICAgICAgMzkwMCB8ICAgICAgIDUyMDAg fCAgIDUwMDAgfCAxMC0wMS0yMDA2CiAgICAgICAgIDM5MDAgfCAgICAgICA1MjAwIHwgICA2MDAw IHwgMTAtMDEtMjAwNgogICAgICAgICA1MDAwIHwgICAgICAgMzUwMCB8ICAgMzkwMCB8IDEyLTIz LTIwMDYKLSAgICAgICAgNTAwMCB8ICAgICAgIDQyMDAgfCAgIDQ4MDAgfCAwOC0wMS0yMDA3Ci0g ICAgICAgIDUwMDAgfCAgICAgICA0MjAwIHwgICA1MjAwIHwgMDgtMDEtMjAwNwotICAgICAgICA1 MDAwIHwgICAgICAgNDIwMCB8ICAgNDgwMCB8IDA4LTA4LTIwMDcKLSAgICAgICAgNTAwMCB8ICAg ICAgIDQyMDAgfCAgIDUyMDAgfCAwOC0xNS0yMDA3Ci0gICAgICAgIDUwMDAgfCAgICAgICA0MjAw IHwgICAzNTAwIHwgMTItMTAtMjAwNwotICAgICAgICA1MDAwIHwgICAgICAgMzUwMCB8ICAgNDUw MCB8IDAxLTAxLTIwMDgKKyAgICAgICAgNTAwMCB8ICAgICAgIDQ1MDAgfCAgIDUyMDAgfCAwOC0w MS0yMDA3CisgICAgICAgIDUwMDAgfCAgICAgICA0NTAwIHwgICA0ODAwIHwgMDgtMDEtMjAwNwor ICAgICAgICA1MDAwIHwgICAgICAgNDUwMCB8ICAgNDgwMCB8IDA4LTA4LTIwMDcKKyAgICAgICAg NTAwMCB8ICAgICAgIDQ1MDAgfCAgIDUyMDAgfCAwOC0xNS0yMDA3CisgICAgICAgIDUwMDAgfCAg ICAgICA0NTAwIHwgICAzNTAwIHwgMTItMTAtMjAwNwogICAgICAgICA1MDAwIHwgICAgICAgMzUw MCB8ICAgNDIwMCB8IDAxLTAxLTIwMDgKKyAgICAgICAgNTAwMCB8ICAgICAgIDM1MDAgfCAgIDQ1 MDAgfCAwMS0wMS0yMDA4CiAoMTAgcm93cykKIAogc2VsZWN0IGZpcnN0X3ZhbHVlKHNhbGFyeSkg b3ZlcihvcmRlciBieSBlbnJvbGxfZGF0ZSByYW5nZSBiZXR3ZWVuIHVuYm91bmRlZCBwcmVjZWRp bmcgYW5kICcxIHllYXInOjppbnRlcnZhbCBmb2xsb3dpbmcKQEAgLTE3NjcsMTMgKzE3NjcsMTMg QEAgc2VsZWN0IGZpcnN0X3ZhbHVlKHNhbGFyeSkgb3ZlcihvcmRlciBieSBlbnJvbGxfZGF0ZSBy YW5nZSBiZXR3ZWVuIHVuYm91bmRlZCBwcmUKICAgICAgICAgNjAwMCB8ICAgICAgIDUyMDAgfCAg IDUwMDAgfCAxMC0wMS0yMDA2CiAgICAgICAgIDUwMDAgfCAgICAgICA1MjAwIHwgICA2MDAwIHwg MTAtMDEtMjAwNgogICAgICAgICA1MDAwIHwgICAgICAgMzUwMCB8ICAgMzkwMCB8IDEyLTIzLTIw MDYKLSAgICAgICAgNTAwMCB8ICAgICAgIDQyMDAgfCAgIDQ4MDAgfCAwOC0wMS0yMDA3Ci0gICAg ICAgIDUwMDAgfCAgICAgICA0MjAwIHwgICA1MjAwIHwgMDgtMDEtMjAwNwotICAgICAgICA1MDAw IHwgICAgICAgNDIwMCB8ICAgNDgwMCB8IDA4LTA4LTIwMDcKLSAgICAgICAgNTAwMCB8ICAgICAg IDQyMDAgfCAgIDUyMDAgfCAwOC0xNS0yMDA3Ci0gICAgICAgIDUwMDAgfCAgICAgICA0MjAwIHwg ICAzNTAwIHwgMTItMTAtMjAwNwotICAgICAgICA1MDAwIHwgICAgICAgNDIwMCB8ICAgNDUwMCB8 IDAxLTAxLTIwMDgKKyAgICAgICAgNTAwMCB8ICAgICAgIDQ1MDAgfCAgIDUyMDAgfCAwOC0wMS0y MDA3CisgICAgICAgIDUwMDAgfCAgICAgICA0NTAwIHwgICA0ODAwIHwgMDgtMDEtMjAwNworICAg ICAgICA1MDAwIHwgICAgICAgNDUwMCB8ICAgNDgwMCB8IDA4LTA4LTIwMDcKKyAgICAgICAgNTAw MCB8ICAgICAgIDQ1MDAgfCAgIDUyMDAgfCAwOC0xNS0yMDA3CisgICAgICAgIDUwMDAgfCAgICAg ICA0NTAwIHwgICAzNTAwIHwgMTItMTAtMjAwNwogICAgICAgICA1MDAwIHwgICAgICAgNDUwMCB8 ICAgNDIwMCB8IDAxLTAxLTIwMDgKKyAgICAgICAgNTAwMCB8ICAgICAgIDQyMDAgfCAgIDQ1MDAg fCAwMS0wMS0yMDA4CiAoMTAgcm93cykKIAogLS0gUkFOR0Ugb2Zmc2V0IFBSRUNFRElORy9GT0xM T1dJTkcgd2l0aCBudWxsIHZhbHVlcwpAQCAtMTgyOCw4ICsxODI4LDggQEAgd2luZG93IHcgYXMK ICAgKG9yZGVyIGJ5IHggZGVzYyBudWxscyBmaXJzdCByYW5nZSBiZXR3ZWVuIDIgcHJlY2VkaW5n IGFuZCAyIGZvbGxvd2luZyk7CiAgeCB8IHkgIHwgZmlyc3RfdmFsdWUgfCBsYXN0X3ZhbHVlIAog LS0tKy0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KLSAgIHwgNDMgfCAgICAgICAgICA0 MyB8ICAgICAgICAgNDIKLSAgIHwgNDIgfCAgICAgICAgICA0MyB8ICAgICAgICAgNDIKKyAgIHwg NDIgfCAgICAgICAgICA0MiB8ICAgICAgICAgNDMKKyAgIHwgNDMgfCAgICAgICAgICA0MiB8ICAg ICAgICAgNDMKICA1IHwgIDUgfCAgICAgICAgICAgNSB8ICAgICAgICAgIDMKICA0IHwgIDQgfCAg ICAgICAgICAgNSB8ICAgICAgICAgIDIKICAzIHwgIDMgfCAgICAgICAgICAgNSB8ICAgICAgICAg IDEKQEAgLTI3NTEsMTAgKzI3NTEsMTAgQEAgd2luZG93IHcgYXMgKG9yZGVyIGJ5IGZfdGltZXN0 YW1wdHogZGVzYyByYW5nZSBiZXR3ZWVuCiAgIDcgfCBXZWQgT2N0IDE5IDAyOjIzOjU0IDIwMDUg UERUIHwgICAgICAgICAgIDggfCAgICAgICAgICA2CiAgIDYgfCBUdWUgT2N0IDE5IDAyOjIzOjU0 IDIwMDQgUERUIHwgICAgICAgICAgIDcgfCAgICAgICAgICA1CiAgIDUgfCBTdW4gT2N0IDE5IDAy OjIzOjU0IDIwMDMgUERUIHwgICAgICAgICAgIDYgfCAgICAgICAgICA0Ci0gIDQgfCBTYXQgT2N0 IDE5IDAyOjIzOjU0IDIwMDIgUERUIHwgICAgICAgICAgIDUgfCAgICAgICAgICAyCi0gIDMgfCBG cmkgT2N0IDE5IDAyOjIzOjU0IDIwMDEgUERUIHwgICAgICAgICAgIDQgfCAgICAgICAgICAxCisg IDQgfCBTYXQgT2N0IDE5IDAyOjIzOjU0IDIwMDIgUERUIHwgICAgICAgICAgIDUgfCAgICAgICAg ICAzCiAgIDIgfCBGcmkgT2N0IDE5IDAyOjIzOjU0IDIwMDEgUERUIHwgICAgICAgICAgIDQgfCAg ICAgICAgICAxCi0gIDEgfCBUaHUgT2N0IDE5IDAyOjIzOjU0IDIwMDAgUERUIHwgICAgICAgICAg IDMgfCAgICAgICAgICAxCisgIDMgfCBGcmkgT2N0IDE5IDAyOjIzOjU0IDIwMDEgUERUIHwgICAg ICAgICAgIDQgfCAgICAgICAgICAxCisgIDEgfCBUaHUgT2N0IDE5IDAyOjIzOjU0IDIwMDAgUERU IHwgICAgICAgICAgIDIgfCAgICAgICAgICAxCiAgIDAgfCAtaW5maW5pdHkgICAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgIDAgfCAgICAgICAgICAwCiAoMTIgcm93cykKIApAQCAtMjg2Miwx MCArMjg2MiwxMCBAQCB3aW5kb3cgdyBhcyAob3JkZXIgYnkgZl90aW1lc3RhbXAgZGVzYyByYW5n ZSBiZXR3ZWVuCiAgIDcgfCBXZWQgT2N0IDE5IDEwOjIzOjU0IDIwMDUgfCAgICAgICAgICAgOCB8 ICAgICAgICAgIDYKICAgNiB8IFR1ZSBPY3QgMTkgMTA6MjM6NTQgMjAwNCB8ICAgICAgICAgICA3 IHwgICAgICAgICAgNQogICA1IHwgU3VuIE9jdCAxOSAxMDoyMzo1NCAyMDAzIHwgICAgICAgICAg IDYgfCAgICAgICAgICA0Ci0gIDQgfCBTYXQgT2N0IDE5IDEwOjIzOjU0IDIwMDIgfCAgICAgICAg ICAgNSB8ICAgICAgICAgIDIKLSAgMyB8IEZyaSBPY3QgMTkgMTA6MjM6NTQgMjAwMSB8ICAgICAg ICAgICA0IHwgICAgICAgICAgMQorICA0IHwgU2F0IE9jdCAxOSAxMDoyMzo1NCAyMDAyIHwgICAg ICAgICAgIDUgfCAgICAgICAgICAzCiAgIDIgfCBGcmkgT2N0IDE5IDEwOjIzOjU0IDIwMDEgfCAg ICAgICAgICAgNCB8ICAgICAgICAgIDEKLSAgMSB8IFRodSBPY3QgMTkgMTA6MjM6NTQgMjAwMCB8 ICAgICAgICAgICAzIHwgICAgICAgICAgMQorICAzIHwgRnJpIE9jdCAxOSAxMDoyMzo1NCAyMDAx IHwgICAgICAgICAgIDQgfCAgICAgICAgICAxCisgIDEgfCBUaHUgT2N0IDE5IDEwOjIzOjU0IDIw MDAgfCAgICAgICAgICAgMiB8ICAgICAgICAgIDEKICAgMCB8IC1pbmZpbml0eSAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAwIHwgICAgICAgICAgMAogKDEyIHJvd3MpCiAKQEAgLTI5ODMsMTQg KzI5ODMsMTQgQEAgU0VMRUNUIHN1bSh1bmlxdWUxKSBvdmVyIChvcmRlciBieSBmb3VyIGdyb3Vw cyBiZXR3ZWVuIHVuYm91bmRlZCBwcmVjZWRpbmcgYW5kIGMKIEZST00gdGVuazEgV0hFUkUgdW5p cXVlMSA8IDEwOwogIHN1bSB8IHVuaXF1ZTEgfCBmb3VyIAogLS0tLS0rLS0tLS0tLS0tKy0tLS0t LQotICAxMiB8ICAgICAgIDAgfCAgICAwCi0gIDEyIHwgICAgICAgOCB8ICAgIDAKICAgMTIgfCAg ICAgICA0IHwgICAgMAotICAyNyB8ICAgICAgIDUgfCAgICAxCi0gIDI3IHwgICAgICAgOSB8ICAg IDEKKyAgMTIgfCAgICAgICA4IHwgICAgMAorICAxMiB8ICAgICAgIDAgfCAgICAwCiAgIDI3IHwg ICAgICAgMSB8ICAgIDEKLSAgMzUgfCAgICAgICA2IHwgICAgMgorICAyNyB8ICAgICAgIDkgfCAg ICAxCisgIDI3IHwgICAgICAgNSB8ICAgIDEKICAgMzUgfCAgICAgICAyIHwgICAgMgorICAzNSB8 ICAgICAgIDYgfCAgICAyCiAgIDQ1IHwgICAgICAgMyB8ICAgIDMKICAgNDUgfCAgICAgICA3IHwg ICAgMwogKDEwIHJvd3MpCkBAIC0zMDAwLDE0ICszMDAwLDE0IEBAIFNFTEVDVCBzdW0odW5pcXVl MSkgb3ZlciAob3JkZXIgYnkgZm91ciBncm91cHMgYmV0d2VlbiB1bmJvdW5kZWQgcHJlY2VkaW5n IGFuZCB1CiBGUk9NIHRlbmsxIFdIRVJFIHVuaXF1ZTEgPCAxMDsKICBzdW0gfCB1bmlxdWUxIHwg Zm91ciAKIC0tLS0tKy0tLS0tLS0tLSstLS0tLS0KLSAgNDUgfCAgICAgICAwIHwgICAgMAotICA0 NSB8ICAgICAgIDggfCAgICAwCiAgIDQ1IHwgICAgICAgNCB8ICAgIDAKLSAgNDUgfCAgICAgICA1 IHwgICAgMQotICA0NSB8ICAgICAgIDkgfCAgICAxCisgIDQ1IHwgICAgICAgOCB8ICAgIDAKKyAg NDUgfCAgICAgICAwIHwgICAgMAogICA0NSB8ICAgICAgIDEgfCAgICAxCi0gIDQ1IHwgICAgICAg NiB8ICAgIDIKKyAgNDUgfCAgICAgICA5IHwgICAgMQorICA0NSB8ICAgICAgIDUgfCAgICAxCiAg IDQ1IHwgICAgICAgMiB8ICAgIDIKKyAgNDUgfCAgICAgICA2IHwgICAgMgogICA0NSB8ICAgICAg IDMgfCAgICAzCiAgIDQ1IHwgICAgICAgNyB8ICAgIDMKICgxMCByb3dzKQpAQCAtMzAxNywxNCAr MzAxNywxNCBAQCBTRUxFQ1Qgc3VtKHVuaXF1ZTEpIG92ZXIgKG9yZGVyIGJ5IGZvdXIgZ3JvdXBz IGJldHdlZW4gY3VycmVudCByb3cgYW5kIHVuYm91bmRlZAogRlJPTSB0ZW5rMSBXSEVSRSB1bmlx dWUxIDwgMTA7CiAgc3VtIHwgdW5pcXVlMSB8IGZvdXIgCiAtLS0tLSstLS0tLS0tLS0rLS0tLS0t Ci0gIDQ1IHwgICAgICAgMCB8ICAgIDAKLSAgNDUgfCAgICAgICA4IHwgICAgMAogICA0NSB8ICAg ICAgIDQgfCAgICAwCi0gIDMzIHwgICAgICAgNSB8ICAgIDEKLSAgMzMgfCAgICAgICA5IHwgICAg MQorICA0NSB8ICAgICAgIDggfCAgICAwCisgIDQ1IHwgICAgICAgMCB8ICAgIDAKICAgMzMgfCAg ICAgICAxIHwgICAgMQotICAxOCB8ICAgICAgIDYgfCAgICAyCisgIDMzIHwgICAgICAgOSB8ICAg IDEKKyAgMzMgfCAgICAgICA1IHwgICAgMQogICAxOCB8ICAgICAgIDIgfCAgICAyCisgIDE4IHwg ICAgICAgNiB8ICAgIDIKICAgMTAgfCAgICAgICAzIHwgICAgMwogICAxMCB8ICAgICAgIDcgfCAg ICAzCiAoMTAgcm93cykKQEAgLTMwMzQsMTQgKzMwMzQsMTQgQEAgU0VMRUNUIHN1bSh1bmlxdWUx KSBvdmVyIChvcmRlciBieSBmb3VyIGdyb3VwcyBiZXR3ZWVuIDEgcHJlY2VkaW5nIGFuZCB1bmJv dW5kZWQKIEZST00gdGVuazEgV0hFUkUgdW5pcXVlMSA8IDEwOwogIHN1bSB8IHVuaXF1ZTEgfCBm b3VyIAogLS0tLS0rLS0tLS0tLS0tKy0tLS0tLQotICA0NSB8ICAgICAgIDAgfCAgICAwCi0gIDQ1 IHwgICAgICAgOCB8ICAgIDAKICAgNDUgfCAgICAgICA0IHwgICAgMAotICA0NSB8ICAgICAgIDUg fCAgICAxCi0gIDQ1IHwgICAgICAgOSB8ICAgIDEKKyAgNDUgfCAgICAgICA4IHwgICAgMAorICA0 NSB8ICAgICAgIDAgfCAgICAwCiAgIDQ1IHwgICAgICAgMSB8ICAgIDEKLSAgMzMgfCAgICAgICA2 IHwgICAgMgorICA0NSB8ICAgICAgIDkgfCAgICAxCisgIDQ1IHwgICAgICAgNSB8ICAgIDEKICAg MzMgfCAgICAgICAyIHwgICAgMgorICAzMyB8ICAgICAgIDYgfCAgICAyCiAgIDE4IHwgICAgICAg MyB8ICAgIDMKICAgMTggfCAgICAgICA3IHwgICAgMwogKDEwIHJvd3MpCkBAIC0zMDUxLDE0ICsz MDUxLDE0IEBAIFNFTEVDVCBzdW0odW5pcXVlMSkgb3ZlciAob3JkZXIgYnkgZm91ciBncm91cHMg YmV0d2VlbiAxIGZvbGxvd2luZyBhbmQgdW5ib3VuZGVkCiBGUk9NIHRlbmsxIFdIRVJFIHVuaXF1 ZTEgPCAxMDsKICBzdW0gfCB1bmlxdWUxIHwgZm91ciAKIC0tLS0tKy0tLS0tLS0tLSstLS0tLS0K LSAgMzMgfCAgICAgICAwIHwgICAgMAotICAzMyB8ICAgICAgIDggfCAgICAwCiAgIDMzIHwgICAg ICAgNCB8ICAgIDAKLSAgMTggfCAgICAgICA1IHwgICAgMQotICAxOCB8ICAgICAgIDkgfCAgICAx CisgIDMzIHwgICAgICAgOCB8ICAgIDAKKyAgMzMgfCAgICAgICAwIHwgICAgMAogICAxOCB8ICAg ICAgIDEgfCAgICAxCi0gIDEwIHwgICAgICAgNiB8ICAgIDIKKyAgMTggfCAgICAgICA5IHwgICAg MQorICAxOCB8ICAgICAgIDUgfCAgICAxCiAgIDEwIHwgICAgICAgMiB8ICAgIDIKKyAgMTAgfCAg ICAgICA2IHwgICAgMgogICAgICB8ICAgICAgIDMgfCAgICAzCiAgICAgIHwgICAgICAgNyB8ICAg IDMKICgxMCByb3dzKQpAQCAtMzA2OCwxNCArMzA2OCwxNCBAQCBTRUxFQ1Qgc3VtKHVuaXF1ZTEp IG92ZXIgKG9yZGVyIGJ5IGZvdXIgZ3JvdXBzIGJldHdlZW4gdW5ib3VuZGVkIHByZWNlZGluZyBh bmQgMgogRlJPTSB0ZW5rMSBXSEVSRSB1bmlxdWUxIDwgMTA7CiAgc3VtIHwgdW5pcXVlMSB8IGZv dXIgCiAtLS0tLSstLS0tLS0tLS0rLS0tLS0tCi0gIDM1IHwgICAgICAgMCB8ICAgIDAKLSAgMzUg fCAgICAgICA4IHwgICAgMAogICAzNSB8ICAgICAgIDQgfCAgICAwCi0gIDQ1IHwgICAgICAgNSB8 ICAgIDEKLSAgNDUgfCAgICAgICA5IHwgICAgMQorICAzNSB8ICAgICAgIDggfCAgICAwCisgIDM1 IHwgICAgICAgMCB8ICAgIDAKICAgNDUgfCAgICAgICAxIHwgICAgMQotICA0NSB8ICAgICAgIDYg fCAgICAyCisgIDQ1IHwgICAgICAgOSB8ICAgIDEKKyAgNDUgfCAgICAgICA1IHwgICAgMQogICA0 NSB8ICAgICAgIDIgfCAgICAyCisgIDQ1IHwgICAgICAgNiB8ICAgIDIKICAgNDUgfCAgICAgICAz IHwgICAgMwogICA0NSB8ICAgICAgIDcgfCAgICAzCiAoMTAgcm93cykKQEAgLTMwODUsMTQgKzMw ODUsMTQgQEAgU0VMRUNUIHN1bSh1bmlxdWUxKSBvdmVyIChvcmRlciBieSBmb3VyIGdyb3VwcyBi ZXR3ZWVuIDIgcHJlY2VkaW5nIGFuZCAxIHByZWNlZGkKIEZST00gdGVuazEgV0hFUkUgdW5pcXVl MSA8IDEwOwogIHN1bSB8IHVuaXF1ZTEgfCBmb3VyIAogLS0tLS0rLS0tLS0tLS0tKy0tLS0tLQot ICAgICB8ICAgICAgIDAgfCAgICAwCi0gICAgIHwgICAgICAgOCB8ICAgIDAKICAgICAgfCAgICAg ICA0IHwgICAgMAotICAxMiB8ICAgICAgIDUgfCAgICAxCi0gIDEyIHwgICAgICAgOSB8ICAgIDEK KyAgICAgfCAgICAgICA4IHwgICAgMAorICAgICB8ICAgICAgIDAgfCAgICAwCiAgIDEyIHwgICAg ICAgMSB8ICAgIDEKLSAgMjcgfCAgICAgICA2IHwgICAgMgorICAxMiB8ICAgICAgIDkgfCAgICAx CisgIDEyIHwgICAgICAgNSB8ICAgIDEKICAgMjcgfCAgICAgICAyIHwgICAgMgorICAyNyB8ICAg ICAgIDYgfCAgICAyCiAgIDIzIHwgICAgICAgMyB8ICAgIDMKICAgMjMgfCAgICAgICA3IHwgICAg MwogKDEwIHJvd3MpCkBAIC0zMTAyLDE0ICszMTAyLDE0IEBAIFNFTEVDVCBzdW0odW5pcXVlMSkg b3ZlciAob3JkZXIgYnkgZm91ciBncm91cHMgYmV0d2VlbiAyIHByZWNlZGluZyBhbmQgMSBmb2xs b3dpCiBGUk9NIHRlbmsxIFdIRVJFIHVuaXF1ZTEgPCAxMDsKICBzdW0gfCB1bmlxdWUxIHwgZm91 ciAKIC0tLS0tKy0tLS0tLS0tLSstLS0tLS0KLSAgMjcgfCAgICAgICAwIHwgICAgMAotICAyNyB8 ICAgICAgIDggfCAgICAwCiAgIDI3IHwgICAgICAgNCB8ICAgIDAKLSAgMzUgfCAgICAgICA1IHwg ICAgMQotICAzNSB8ICAgICAgIDkgfCAgICAxCisgIDI3IHwgICAgICAgOCB8ICAgIDAKKyAgMjcg fCAgICAgICAwIHwgICAgMAogICAzNSB8ICAgICAgIDEgfCAgICAxCi0gIDQ1IHwgICAgICAgNiB8 ICAgIDIKKyAgMzUgfCAgICAgICA5IHwgICAgMQorICAzNSB8ICAgICAgIDUgfCAgICAxCiAgIDQ1 IHwgICAgICAgMiB8ICAgIDIKKyAgNDUgfCAgICAgICA2IHwgICAgMgogICAzMyB8ICAgICAgIDMg fCAgICAzCiAgIDMzIHwgICAgICAgNyB8ICAgIDMKICgxMCByb3dzKQpAQCAtMzExOSwxNCArMzEx OSwxNCBAQCBTRUxFQ1Qgc3VtKHVuaXF1ZTEpIG92ZXIgKG9yZGVyIGJ5IGZvdXIgZ3JvdXBzIGJl dHdlZW4gMCBwcmVjZWRpbmcgYW5kIDAgZm9sbG93aQogRlJPTSB0ZW5rMSBXSEVSRSB1bmlxdWUx IDwgMTA7CiAgc3VtIHwgdW5pcXVlMSB8IGZvdXIgCiAtLS0tLSstLS0tLS0tLS0rLS0tLS0tCi0g IDEyIHwgICAgICAgMCB8ICAgIDAKLSAgMTIgfCAgICAgICA4IHwgICAgMAogICAxMiB8ICAgICAg IDQgfCAgICAwCi0gIDE1IHwgICAgICAgNSB8ICAgIDEKLSAgMTUgfCAgICAgICA5IHwgICAgMQor ICAxMiB8ICAgICAgIDggfCAgICAwCisgIDEyIHwgICAgICAgMCB8ICAgIDAKICAgMTUgfCAgICAg ICAxIHwgICAgMQotICAgOCB8ICAgICAgIDYgfCAgICAyCisgIDE1IHwgICAgICAgOSB8ICAgIDEK KyAgMTUgfCAgICAgICA1IHwgICAgMQogICAgOCB8ICAgICAgIDIgfCAgICAyCisgICA4IHwgICAg ICAgNiB8ICAgIDIKICAgMTAgfCAgICAgICAzIHwgICAgMwogICAxMCB8ICAgICAgIDcgfCAgICAz CiAoMTAgcm93cykKQEAgLTMxMzYsMTQgKzMxMzYsMTQgQEAgU0VMRUNUIHN1bSh1bmlxdWUxKSBv dmVyIChvcmRlciBieSBmb3VyIGdyb3VwcyBiZXR3ZWVuIDIgcHJlY2VkaW5nIGFuZCAxIGZvbGxv d2kKIEZST00gdGVuazEgV0hFUkUgdW5pcXVlMSA8IDEwOwogIHN1bSB8IHVuaXF1ZTEgfCBmb3Vy IAogLS0tLS0rLS0tLS0tLS0tKy0tLS0tLQotICAyNyB8ICAgICAgIDAgfCAgICAwCi0gIDE5IHwg ICAgICAgOCB8ICAgIDAKICAgMjMgfCAgICAgICA0IHwgICAgMAotICAzMCB8ICAgICAgIDUgfCAg ICAxCi0gIDI2IHwgICAgICAgOSB8ICAgIDEKKyAgMTkgfCAgICAgICA4IHwgICAgMAorICAyNyB8 ICAgICAgIDAgfCAgICAwCiAgIDM0IHwgICAgICAgMSB8ICAgIDEKLSAgMzkgfCAgICAgICA2IHwg ICAgMgorICAyNiB8ICAgICAgIDkgfCAgICAxCisgIDMwIHwgICAgICAgNSB8ICAgIDEKICAgNDMg fCAgICAgICAyIHwgICAgMgorICAzOSB8ICAgICAgIDYgfCAgICAyCiAgIDMwIHwgICAgICAgMyB8 ICAgIDMKICAgMjYgfCAgICAgICA3IHwgICAgMwogKDEwIHJvd3MpCkBAIC0zMTUzLDE0ICszMTUz LDE0IEBAIFNFTEVDVCBzdW0odW5pcXVlMSkgb3ZlciAob3JkZXIgYnkgZm91ciBncm91cHMgYmV0 d2VlbiAyIHByZWNlZGluZyBhbmQgMSBmb2xsb3dpCiBGUk9NIHRlbmsxIFdIRVJFIHVuaXF1ZTEg PCAxMDsKICBzdW0gfCB1bmlxdWUxIHwgZm91ciAKIC0tLS0tKy0tLS0tLS0tLSstLS0tLS0KLSAg MTUgfCAgICAgICAwIHwgICAgMAotICAxNSB8ICAgICAgIDggfCAgICAwCiAgIDE1IHwgICAgICAg NCB8ICAgIDAKLSAgMjAgfCAgICAgICA1IHwgICAgMQotICAyMCB8ICAgICAgIDkgfCAgICAxCisg IDE1IHwgICAgICAgOCB8ICAgIDAKKyAgMTUgfCAgICAgICAwIHwgICAgMAogICAyMCB8ICAgICAg IDEgfCAgICAxCi0gIDM3IHwgICAgICAgNiB8ICAgIDIKKyAgMjAgfCAgICAgICA5IHwgICAgMQor ICAyMCB8ICAgICAgIDUgfCAgICAxCiAgIDM3IHwgICAgICAgMiB8ICAgIDIKKyAgMzcgfCAgICAg ICA2IHwgICAgMgogICAyMyB8ICAgICAgIDMgfCAgICAzCiAgIDIzIHwgICAgICAgNyB8ICAgIDMK ICgxMCByb3dzKQpAQCAtMzE3MCwxNCArMzE3MCwxNCBAQCBTRUxFQ1Qgc3VtKHVuaXF1ZTEpIG92 ZXIgKG9yZGVyIGJ5IGZvdXIgZ3JvdXBzIGJldHdlZW4gMiBwcmVjZWRpbmcgYW5kIDEgZm9sbG93 aQogRlJPTSB0ZW5rMSBXSEVSRSB1bmlxdWUxIDwgMTA7CiAgc3VtIHwgdW5pcXVlMSB8IGZvdXIg CiAtLS0tLSstLS0tLS0tLS0rLS0tLS0tCi0gIDE1IHwgICAgICAgMCB8ICAgIDAKLSAgMjMgfCAg ICAgICA4IHwgICAgMAogICAxOSB8ICAgICAgIDQgfCAgICAwCi0gIDI1IHwgICAgICAgNSB8ICAg IDEKLSAgMjkgfCAgICAgICA5IHwgICAgMQorICAyMyB8ICAgICAgIDggfCAgICAwCisgIDE1IHwg ICAgICAgMCB8ICAgIDAKICAgMjEgfCAgICAgICAxIHwgICAgMQotICA0MyB8ICAgICAgIDYgfCAg ICAyCisgIDI5IHwgICAgICAgOSB8ICAgIDEKKyAgMjUgfCAgICAgICA1IHwgICAgMQogICAzOSB8 ICAgICAgIDIgfCAgICAyCisgIDQzIHwgICAgICAgNiB8ICAgIDIKICAgMjYgfCAgICAgICAzIHwg ICAgMwogICAzMCB8ICAgICAgIDcgfCAgICAzCiAoMTAgcm93cykKQEAgLTMyNTgsMTQgKzMyNTgs MTQgQEAgc2VsZWN0IGZpcnN0X3ZhbHVlKHNhbGFyeSkgb3ZlcihvcmRlciBieSBlbnJvbGxfZGF0 ZSBncm91cHMgYmV0d2VlbiAxIHByZWNlZGluZwogLS0tLS0tLS0tLS0tLSstLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQogICAgICAgICA1MDAwIHwgNjAwMCB8ICAgICAg NTAwMCB8ICAgNTAwMCB8IDEwLTAxLTIwMDYKICAgICAgICAgNTAwMCB8IDM5MDAgfCAgICAgIDUw MDAgfCAgIDYwMDAgfCAxMC0wMS0yMDA2Ci0gICAgICAgIDUwMDAgfCA0ODAwIHwgICAgICA1MDAw IHwgICAzOTAwIHwgMTItMjMtMjAwNgotICAgICAgICAzOTAwIHwgNTIwMCB8ICAgICAgMzkwMCB8 ICAgNDgwMCB8IDA4LTAxLTIwMDcKKyAgICAgICAgNTAwMCB8IDUyMDAgfCAgICAgIDUwMDAgfCAg IDM5MDAgfCAxMi0yMy0yMDA2CiAgICAgICAgIDM5MDAgfCA0ODAwIHwgICAgICAzOTAwIHwgICA1 MjAwIHwgMDgtMDEtMjAwNwotICAgICAgICA0ODAwIHwgNTIwMCB8ICAgICAgNDgwMCB8ICAgNDgw MCB8IDA4LTA4LTIwMDcKKyAgICAgICAgMzkwMCB8IDQ4MDAgfCAgICAgIDM5MDAgfCAgIDQ4MDAg fCAwOC0wMS0yMDA3CisgICAgICAgIDUyMDAgfCA1MjAwIHwgICAgICA1MjAwIHwgICA0ODAwIHwg MDgtMDgtMjAwNwogICAgICAgICA0ODAwIHwgMzUwMCB8ICAgICAgNDgwMCB8ICAgNTIwMCB8IDA4 LTE1LTIwMDcKLSAgICAgICAgNTIwMCB8IDQ1MDAgfCAgICAgIDUyMDAgfCAgIDM1MDAgfCAxMi0x MC0yMDA3Ci0gICAgICAgIDM1MDAgfCA0MjAwIHwgICAgICAzNTAwIHwgICA0NTAwIHwgMDEtMDEt MjAwOAotICAgICAgICAzNTAwIHwgICAgICB8ICAgICAgMzUwMCB8ICAgNDIwMCB8IDAxLTAxLTIw MDgKKyAgICAgICAgNTIwMCB8IDQyMDAgfCAgICAgIDUyMDAgfCAgIDM1MDAgfCAxMi0xMC0yMDA3 CisgICAgICAgIDM1MDAgfCA0NTAwIHwgICAgICAzNTAwIHwgICA0MjAwIHwgMDEtMDEtMjAwOAor ICAgICAgICAzNTAwIHwgICAgICB8ICAgICAgMzUwMCB8ICAgNDUwMCB8IDAxLTAxLTIwMDgKICgx MCByb3dzKQogCiBzZWxlY3QgbGFzdF92YWx1ZShzYWxhcnkpIG92ZXIob3JkZXIgYnkgZW5yb2xs X2RhdGUgZ3JvdXBzIGJldHdlZW4gMSBwcmVjZWRpbmcgYW5kIDEgZm9sbG93aW5nKSwKQEAgLTMy NzUsMTQgKzMyNzUsMTQgQEAgc2VsZWN0IGxhc3RfdmFsdWUoc2FsYXJ5KSBvdmVyKG9yZGVyIGJ5 IGVucm9sbF9kYXRlIGdyb3VwcyBiZXR3ZWVuIDEgcHJlY2VkaW5nIGEKIC0tLS0tLS0tLS0tLSst LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQogICAgICAgIDM5MDAgfCAgICAgIHwgICA1MDAw IHwgMTAtMDEtMjAwNgogICAgICAgIDM5MDAgfCA1MDAwIHwgICA2MDAwIHwgMTAtMDEtMjAwNgot ICAgICAgIDUyMDAgfCA2MDAwIHwgICAzOTAwIHwgMTItMjMtMjAwNgotICAgICAgIDQ4MDAgfCAz OTAwIHwgICA0ODAwIHwgMDgtMDEtMjAwNwotICAgICAgIDQ4MDAgfCA0ODAwIHwgICA1MjAwIHwg MDgtMDEtMjAwNwotICAgICAgIDUyMDAgfCA1MjAwIHwgICA0ODAwIHwgMDgtMDgtMjAwNworICAg ICAgIDQ4MDAgfCA2MDAwIHwgICAzOTAwIHwgMTItMjMtMjAwNgorICAgICAgIDQ4MDAgfCAzOTAw IHwgICA1MjAwIHwgMDgtMDEtMjAwNworICAgICAgIDQ4MDAgfCA1MjAwIHwgICA0ODAwIHwgMDgt MDEtMjAwNworICAgICAgIDUyMDAgfCA0ODAwIHwgICA0ODAwIHwgMDgtMDgtMjAwNwogICAgICAg IDM1MDAgfCA0ODAwIHwgICA1MjAwIHwgMDgtMTUtMjAwNwotICAgICAgIDQyMDAgfCA1MjAwIHwg ICAzNTAwIHwgMTItMTAtMjAwNwotICAgICAgIDQyMDAgfCAzNTAwIHwgICA0NTAwIHwgMDEtMDEt MjAwOAotICAgICAgIDQyMDAgfCA0NTAwIHwgICA0MjAwIHwgMDEtMDEtMjAwOAorICAgICAgIDQ1 MDAgfCA1MjAwIHwgICAzNTAwIHwgMTItMTAtMjAwNworICAgICAgIDQ1MDAgfCAzNTAwIHwgICA0 MjAwIHwgMDEtMDEtMjAwOAorICAgICAgIDQ1MDAgfCA0MjAwIHwgICA0NTAwIHwgMDEtMDEtMjAw OAogKDEwIHJvd3MpCiAKIHNlbGVjdCBmaXJzdF92YWx1ZShzYWxhcnkpIG92ZXIob3JkZXIgYnkg ZW5yb2xsX2RhdGUgZ3JvdXBzIGJldHdlZW4gMSBmb2xsb3dpbmcgYW5kIDMgZm9sbG93aW5nCkBA IC0zMjk1LDE0ICszMjk1LDE0IEBAIHNlbGVjdCBmaXJzdF92YWx1ZShzYWxhcnkpIG92ZXIob3Jk ZXIgYnkgZW5yb2xsX2RhdGUgZ3JvdXBzIGJldHdlZW4gMSBmb2xsb3dpbmcKIC0tLS0tLS0tLS0t LS0rLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KICAgICAgICAgMzkw MCB8IDYwMDAgfCAgICAgIDM5MDAgfCAgIDUwMDAgfCAxMC0wMS0yMDA2CiAgICAgICAgIDM5MDAg fCAzOTAwIHwgICAgICAzOTAwIHwgICA2MDAwIHwgMTAtMDEtMjAwNgotICAgICAgICA0ODAwIHwg NDgwMCB8ICAgICAgNDgwMCB8ICAgMzkwMCB8IDEyLTIzLTIwMDYKLSAgICAgICAgNDgwMCB8IDUy MDAgfCAgICAgIDQ4MDAgfCAgIDQ4MDAgfCAwOC0wMS0yMDA3CisgICAgICAgIDUyMDAgfCA1MjAw IHwgICAgICA1MjAwIHwgICAzOTAwIHwgMTItMjMtMjAwNgogICAgICAgICA0ODAwIHwgNDgwMCB8 ICAgICAgNDgwMCB8ICAgNTIwMCB8IDA4LTAxLTIwMDcKKyAgICAgICAgNDgwMCB8IDQ4MDAgfCAg ICAgIDQ4MDAgfCAgIDQ4MDAgfCAwOC0wMS0yMDA3CiAgICAgICAgIDUyMDAgfCA1MjAwIHwgICAg ICA1MjAwIHwgICA0ODAwIHwgMDgtMDgtMjAwNwogICAgICAgICAzNTAwIHwgMzUwMCB8ICAgICAg MzUwMCB8ICAgNTIwMCB8IDA4LTE1LTIwMDcKLSAgICAgICAgNDUwMCB8IDQ1MDAgfCAgICAgIDQ1 MDAgfCAgIDM1MDAgfCAxMi0xMC0yMDA3Ci0gICAgICAgICAgICAgfCA0MjAwIHwgICAgICAgICAg IHwgICA0NTAwIHwgMDEtMDEtMjAwOAotICAgICAgICAgICAgIHwgICAgICB8ICAgICAgICAgICB8 ICAgNDIwMCB8IDAxLTAxLTIwMDgKKyAgICAgICAgNDIwMCB8IDQyMDAgfCAgICAgIDQyMDAgfCAg IDM1MDAgfCAxMi0xMC0yMDA3CisgICAgICAgICAgICAgfCA0NTAwIHwgICAgICAgICAgIHwgICA0 MjAwIHwgMDEtMDEtMjAwOAorICAgICAgICAgICAgIHwgICAgICB8ICAgICAgICAgICB8ICAgNDUw MCB8IDAxLTAxLTIwMDgKICgxMCByb3dzKQogCiBzZWxlY3QgbGFzdF92YWx1ZShzYWxhcnkpIG92 ZXIob3JkZXIgYnkgZW5yb2xsX2RhdGUgZ3JvdXBzIGJldHdlZW4gMSBmb2xsb3dpbmcgYW5kIDMg Zm9sbG93aW5nCkBAIC0zMzE0LDEzICszMzE0LDEzIEBAIHNlbGVjdCBsYXN0X3ZhbHVlKHNhbGFy eSkgb3ZlcihvcmRlciBieSBlbnJvbGxfZGF0ZSBncm91cHMgYmV0d2VlbiAxIGZvbGxvd2luZyBh CiAgICAgICAgNDgwMCB8ICAgICAgfCAgIDUwMDAgfCAxMC0wMS0yMDA2CiAgICAgICAgNDgwMCB8 IDUwMDAgfCAgIDYwMDAgfCAxMC0wMS0yMDA2CiAgICAgICAgNTIwMCB8IDYwMDAgfCAgIDM5MDAg fCAxMi0yMy0yMDA2Ci0gICAgICAgMzUwMCB8IDM5MDAgfCAgIDQ4MDAgfCAwOC0wMS0yMDA3Ci0g ICAgICAgMzUwMCB8IDQ4MDAgfCAgIDUyMDAgfCAwOC0wMS0yMDA3Ci0gICAgICAgNDIwMCB8IDUy MDAgfCAgIDQ4MDAgfCAwOC0wOC0yMDA3Ci0gICAgICAgNDIwMCB8IDQ4MDAgfCAgIDUyMDAgfCAw OC0xNS0yMDA3Ci0gICAgICAgNDIwMCB8IDUyMDAgfCAgIDM1MDAgfCAxMi0xMC0yMDA3Ci0gICAg ICAgICAgICB8IDM1MDAgfCAgIDQ1MDAgfCAwMS0wMS0yMDA4Ci0gICAgICAgICAgICB8IDQ1MDAg fCAgIDQyMDAgfCAwMS0wMS0yMDA4CisgICAgICAgMzUwMCB8IDM5MDAgfCAgIDUyMDAgfCAwOC0w MS0yMDA3CisgICAgICAgMzUwMCB8IDUyMDAgfCAgIDQ4MDAgfCAwOC0wMS0yMDA3CisgICAgICAg NDUwMCB8IDQ4MDAgfCAgIDQ4MDAgfCAwOC0wOC0yMDA3CisgICAgICAgNDUwMCB8IDQ4MDAgfCAg IDUyMDAgfCAwOC0xNS0yMDA3CisgICAgICAgNDUwMCB8IDUyMDAgfCAgIDM1MDAgfCAxMi0xMC0y MDA3CisgICAgICAgICAgICB8IDM1MDAgfCAgIDQyMDAgfCAwMS0wMS0yMDA4CisgICAgICAgICAg ICB8IDQyMDAgfCAgIDQ1MDAgfCAwMS0wMS0yMDA4CiAoMTAgcm93cykKIAogLS0gU2hvdyBkaWZm ZXJlbmNlcyBpbiBvZmZzZXQgaW50ZXJwcmV0YXRpb24gYmV0d2VlbiBST1dTLCBSQU5HRSwgYW5k IEdST1VQUwotLSAKMi41MS4xCgo= --0000000000000fd3bb0643662729 Content-Type: text/x-patch; charset="US-ASCII"; name="v4-0003-WIP-make-some-regression-tests-sort-order-more-de.patch" Content-Disposition: attachment; filename="v4-0003-WIP-make-some-regression-tests-sort-order-more-de.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mhw2b7ro1 RnJvbSAwNTI1ZTZmMjg0Nzc5ZGE3ZjY4ZjM1YmM0MTVmM2RhMDg0OGVjMGRmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIE5heWxvciA8am9obi5uYXlsb3JAcG9zdGdyZXNxbC5v cmc+CkRhdGU6IFdlZCwgMTIgTm92IDIwMjUgMTg6NTY6MjkgKzA3MDAKU3ViamVjdDogW1BBVENI IHY0IDMvNF0gV0lQIG1ha2Ugc29tZSByZWdyZXNzaW9uIHRlc3RzJyBzb3J0IG9yZGVyIG1vcmUK IGRldGVybWluaXN0aWMKClRoZSBwcmV2aW91cyBjb21taXQgc3RpbGwgcmVzdWx0cyBpbiBmYWls dXJlcyBpbiB0aGUgVEFQIHRlc3QKMDAyX3BnX3VwZ3JhZGUucGwsIG5hbWVseSB0aGF0IHRoZSBy ZWdyZXNzaW9uIHRlc3RzIGZhaWwgb24KdGhlIG9sZCBjbHVzdGVyLgoKWFhYIGl0J3Mgbm90IGNs ZWFyIHdoeSBvbmx5IHNvbWUgdGVzdHMgZmFpbCB0aGlzIHdheQotLS0KIHNyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvdHNyZi5vdXQgICB8IDE2ICsrKy0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvd2luZG93Lm91dCB8IDcyICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIHNyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3RzcmYuc3FsICAgICAgICB8ICAyICstCiBzcmMvdGVzdC9yZWdyZXNz L3NxbC93aW5kb3cuc3FsICAgICAgfCAyMCArKysrLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA1NSBp bnNlcnRpb25zKCspLCA1NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3RzcmYub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90c3JmLm91 dAppbmRleCBmZDM5MTRiMGZhZC4uZjU2NDdlZTU2MWMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvdHNyZi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90 c3JmLm91dApAQCAtMzk3LDI2ICszOTcsMjQgQEAgU0VMRUNUIGRhdGFhLCBkYXRhYiBiLCBnZW5l cmF0ZV9zZXJpZXMoMSwyKSBnLCBjb3VudCgqKSBGUk9NIGZldyBHUk9VUCBCWSBDVUJFKGQKICAg ICAgICB8ICAgICB8IDIgfCAgICAgMwogKDI0IHJvd3MpCiAKLVNFTEVDVCBkYXRhYSwgZGF0YWIg YiwgZ2VuZXJhdGVfc2VyaWVzKDEsMikgZywgY291bnQoKikgRlJPTSBmZXcgR1JPVVAgQlkgQ1VC RShkYXRhYSwgZGF0YWIsIGcpIE9SREVSIEJZIGRhdGFhOworU0VMRUNUIGRhdGFhLCBkYXRhYiBi LCBnZW5lcmF0ZV9zZXJpZXMoMSwyKSBnLCBjb3VudCgqKSBGUk9NIGZldyBHUk9VUCBCWSBDVUJF KGRhdGFhLCBkYXRhYiwgZykgT1JERVIgQlkgZGF0YWEsIGRhdGFiLCBnOwogIGRhdGFhIHwgIGIg IHwgZyB8IGNvdW50IAogLS0tLS0tLSstLS0tLSstLS0rLS0tLS0tLQotIGEgICAgIHwgZm9vIHwg ICB8ICAgICAyCi0gYSAgICAgfCAgICAgfCAgIHwgICAgIDQKLSBhICAgICB8ICAgICB8IDIgfCAg ICAgMgogIGEgICAgIHwgYmFyIHwgMSB8ICAgICAxCiAgYSAgICAgfCBiYXIgfCAyIHwgICAgIDEK ICBhICAgICB8IGJhciB8ICAgfCAgICAgMgogIGEgICAgIHwgZm9vIHwgMSB8ICAgICAxCiAgYSAg ICAgfCBmb28gfCAyIHwgICAgIDEKKyBhICAgICB8IGZvbyB8ICAgfCAgICAgMgogIGEgICAgIHwg ICAgIHwgMSB8ICAgICAyCisgYSAgICAgfCAgICAgfCAyIHwgICAgIDIKKyBhICAgICB8ICAgICB8 ICAgfCAgICAgNAogIGIgICAgIHwgYmFyIHwgMSB8ICAgICAxCi0gYiAgICAgfCAgICAgfCAgIHwg ICAgIDIKLSBiICAgICB8ICAgICB8IDEgfCAgICAgMQogIGIgICAgIHwgYmFyIHwgMiB8ICAgICAx CiAgYiAgICAgfCBiYXIgfCAgIHwgICAgIDIKKyBiICAgICB8ICAgICB8IDEgfCAgICAgMQogIGIg ICAgIHwgICAgIHwgMiB8ICAgICAxCi0gICAgICAgfCAgICAgfCAyIHwgICAgIDMKLSAgICAgICB8 ICAgICB8ICAgfCAgICAgNgorIGIgICAgIHwgICAgIHwgICB8ICAgICAyCiAgICAgICAgfCBiYXIg fCAxIHwgICAgIDIKICAgICAgICB8IGJhciB8IDIgfCAgICAgMgogICAgICAgIHwgYmFyIHwgICB8 ICAgICA0CkBAIC00MjQsNiArNDIyLDggQEAgU0VMRUNUIGRhdGFhLCBkYXRhYiBiLCBnZW5lcmF0 ZV9zZXJpZXMoMSwyKSBnLCBjb3VudCgqKSBGUk9NIGZldyBHUk9VUCBCWSBDVUJFKGQKICAgICAg ICB8IGZvbyB8IDIgfCAgICAgMQogICAgICAgIHwgZm9vIHwgICB8ICAgICAyCiAgICAgICAgfCAg ICAgfCAxIHwgICAgIDMKKyAgICAgICB8ICAgICB8IDIgfCAgICAgMworICAgICAgIHwgICAgIHwg ICB8ICAgICA2CiAoMjQgcm93cykKIAogU0VMRUNUIGRhdGFhLCBkYXRhYiBiLCBnZW5lcmF0ZV9z ZXJpZXMoMSwyKSBnLCBjb3VudCgqKSBGUk9NIGZldyBHUk9VUCBCWSBDVUJFKGRhdGFhLCBkYXRh YiwgZykgT1JERVIgQlkgZzsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv d2luZG93Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2luZG93Lm91dAppbmRleCBi M2NkZWFlYTRiMy4uOGEzODQxN2U3MjEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvd2luZG93Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpbmRvdy5v dXQKQEAgLTE4LDEzICsxOCwxMyBAQCBJTlNFUlQgSU5UTyBlbXBzYWxhcnkgVkFMVUVTCiAoJ3Nh bGVzJywgMywgNDgwMCwgJzIwMDctMDgtMDEnKSwKICgnZGV2ZWxvcCcsIDgsIDYwMDAsICcyMDA2 LTEwLTAxJyksCiAoJ2RldmVsb3AnLCAxMSwgNTIwMCwgJzIwMDctMDgtMTUnKTsKLVNFTEVDVCBk ZXBuYW1lLCBlbXBubywgc2FsYXJ5LCBzdW0oc2FsYXJ5KSBPVkVSIChQQVJUSVRJT04gQlkgZGVw bmFtZSkgRlJPTSBlbXBzYWxhcnkgT1JERVIgQlkgZGVwbmFtZSwgc2FsYXJ5OworU0VMRUNUIGRl cG5hbWUsIGVtcG5vLCBzYWxhcnksIHN1bShzYWxhcnkpIE9WRVIgKFBBUlRJVElPTiBCWSBkZXBu YW1lKSBGUk9NIGVtcHNhbGFyeSBPUkRFUiBCWSBkZXBuYW1lLCBzYWxhcnksIGVtcG5vOwogICBk ZXBuYW1lICB8IGVtcG5vIHwgc2FsYXJ5IHwgIHN1bSAgCiAtLS0tLS0tLS0tLSstLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0KICBkZXZlbG9wICAgfCAgICAgNyB8ICAgNDIwMCB8IDI1MTAwCiAgZGV2 ZWxvcCAgIHwgICAgIDkgfCAgIDQ1MDAgfCAyNTEwMAotIGRldmVsb3AgICB8ICAgIDExIHwgICA1 MjAwIHwgMjUxMDAKICBkZXZlbG9wICAgfCAgICAxMCB8ICAgNTIwMCB8IDI1MTAwCisgZGV2ZWxv cCAgIHwgICAgMTEgfCAgIDUyMDAgfCAyNTEwMAogIGRldmVsb3AgICB8ICAgICA4IHwgICA2MDAw IHwgMjUxMDAKICBwZXJzb25uZWwgfCAgICAgNSB8ICAgMzUwMCB8ICA3NDAwCiAgcGVyc29ubmVs IHwgICAgIDIgfCAgIDM5MDAgfCAgNzQwMApAQCAtMzMsMTggKzMzLDE4IEBAIFNFTEVDVCBkZXBu YW1lLCBlbXBubywgc2FsYXJ5LCBzdW0oc2FsYXJ5KSBPVkVSIChQQVJUSVRJT04gQlkgZGVwbmFt ZSkgRlJPTSBlbXBzCiAgc2FsZXMgICAgIHwgICAgIDEgfCAgIDUwMDAgfCAxNDYwMAogKDEwIHJv d3MpCiAKLVNFTEVDVCBkZXBuYW1lLCBlbXBubywgc2FsYXJ5LCByYW5rKCkgT1ZFUiAoUEFSVElU SU9OIEJZIGRlcG5hbWUgT1JERVIgQlkgc2FsYXJ5KSBGUk9NIGVtcHNhbGFyeTsKK1NFTEVDVCBk ZXBuYW1lLCBlbXBubywgc2FsYXJ5LCByYW5rKCkgT1ZFUiAoUEFSVElUSU9OIEJZIGRlcG5hbWUg T1JERVIgQlkgc2FsYXJ5LCBlbXBubykgRlJPTSBlbXBzYWxhcnk7CiAgIGRlcG5hbWUgIHwgZW1w bm8gfCBzYWxhcnkgfCByYW5rIAogLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLSstLS0tLS0K ICBkZXZlbG9wICAgfCAgICAgNyB8ICAgNDIwMCB8ICAgIDEKICBkZXZlbG9wICAgfCAgICAgOSB8 ICAgNDUwMCB8ICAgIDIKLSBkZXZlbG9wICAgfCAgICAxMSB8ICAgNTIwMCB8ICAgIDMKICBkZXZl bG9wICAgfCAgICAxMCB8ICAgNTIwMCB8ICAgIDMKKyBkZXZlbG9wICAgfCAgICAxMSB8ICAgNTIw MCB8ICAgIDQKICBkZXZlbG9wICAgfCAgICAgOCB8ICAgNjAwMCB8ICAgIDUKICBwZXJzb25uZWwg fCAgICAgNSB8ICAgMzUwMCB8ICAgIDEKICBwZXJzb25uZWwgfCAgICAgMiB8ICAgMzkwMCB8ICAg IDIKICBzYWxlcyAgICAgfCAgICAgMyB8ICAgNDgwMCB8ICAgIDEKLSBzYWxlcyAgICAgfCAgICAg NCB8ICAgNDgwMCB8ICAgIDEKKyBzYWxlcyAgICAgfCAgICAgNCB8ICAgNDgwMCB8ICAgIDIKICBz YWxlcyAgICAgfCAgICAgMSB8ICAgNTAwMCB8ICAgIDMKICgxMCByb3dzKQogCkBAIC03NSwzMyAr NzUsMzMgQEAgR1JPVVAgQlkgZm91ciwgdGVuIE9SREVSIEJZIGZvdXIsIHRlbjsKICAgICAzIHwg ICA5IHwgNzUwMCB8ICAgICA5LjAwMDAwMDAwMDAwMDAwMDAKICgyMCByb3dzKQogCi1TRUxFQ1Qg ZGVwbmFtZSwgZW1wbm8sIHNhbGFyeSwgc3VtKHNhbGFyeSkgT1ZFUiB3IEZST00gZW1wc2FsYXJ5 IFdJTkRPVyB3IEFTIChQQVJUSVRJT04gQlkgZGVwbmFtZSk7CitTRUxFQ1QgZGVwbmFtZSwgZW1w bm8sIHNhbGFyeSwgc3VtKHNhbGFyeSkgT1ZFUiB3IEZST00gZW1wc2FsYXJ5IFdJTkRPVyB3IEFT IChQQVJUSVRJT04gQlkgZGVwbmFtZSkgT1JERVIgQlkgZGVwbmFtZSwgZW1wbm87CiAgIGRlcG5h bWUgIHwgZW1wbm8gfCBzYWxhcnkgfCAgc3VtICAKIC0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLQotIGRldmVsb3AgICB8ICAgIDExIHwgICA1MjAwIHwgMjUxMDAKICBkZXZlbG9w ICAgfCAgICAgNyB8ICAgNDIwMCB8IDI1MTAwCi0gZGV2ZWxvcCAgIHwgICAgIDkgfCAgIDQ1MDAg fCAyNTEwMAogIGRldmVsb3AgICB8ICAgICA4IHwgICA2MDAwIHwgMjUxMDAKKyBkZXZlbG9wICAg fCAgICAgOSB8ICAgNDUwMCB8IDI1MTAwCiAgZGV2ZWxvcCAgIHwgICAgMTAgfCAgIDUyMDAgfCAy NTEwMAotIHBlcnNvbm5lbCB8ICAgICA1IHwgICAzNTAwIHwgIDc0MDAKKyBkZXZlbG9wICAgfCAg ICAxMSB8ICAgNTIwMCB8IDI1MTAwCiAgcGVyc29ubmVsIHwgICAgIDIgfCAgIDM5MDAgfCAgNzQw MAotIHNhbGVzICAgICB8ICAgICAzIHwgICA0ODAwIHwgMTQ2MDAKKyBwZXJzb25uZWwgfCAgICAg NSB8ICAgMzUwMCB8ICA3NDAwCiAgc2FsZXMgICAgIHwgICAgIDEgfCAgIDUwMDAgfCAxNDYwMAor IHNhbGVzICAgICB8ICAgICAzIHwgICA0ODAwIHwgMTQ2MDAKICBzYWxlcyAgICAgfCAgICAgNCB8 ICAgNDgwMCB8IDE0NjAwCiAoMTAgcm93cykKIAotU0VMRUNUIGRlcG5hbWUsIGVtcG5vLCBzYWxh cnksIHJhbmsoKSBPVkVSIHcgRlJPTSBlbXBzYWxhcnkgV0lORE9XIHcgQVMgKFBBUlRJVElPTiBC WSBkZXBuYW1lIE9SREVSIEJZIHNhbGFyeSkgT1JERVIgQlkgcmFuaygpIE9WRVIgdzsKK1NFTEVD VCBkZXBuYW1lLCBlbXBubywgc2FsYXJ5LCByYW5rKCkgT1ZFUiB3IEZST00gZW1wc2FsYXJ5IFdJ TkRPVyB3IEFTIChQQVJUSVRJT04gQlkgZGVwbmFtZSBPUkRFUiBCWSBzYWxhcnkpIE9SREVSIEJZ IHJhbmsoKSBPVkVSIHcsIGVtcG5vOwogICBkZXBuYW1lICB8IGVtcG5vIHwgc2FsYXJ5IHwgcmFu ayAKIC0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tCi0gZGV2ZWxvcCAgIHwgICAg IDcgfCAgIDQyMDAgfCAgICAxCi0gcGVyc29ubmVsIHwgICAgIDUgfCAgIDM1MDAgfCAgICAxCi0g c2FsZXMgICAgIHwgICAgIDQgfCAgIDQ4MDAgfCAgICAxCiAgc2FsZXMgICAgIHwgICAgIDMgfCAg IDQ4MDAgfCAgICAxCi0gZGV2ZWxvcCAgIHwgICAgIDkgfCAgIDQ1MDAgfCAgICAyCisgc2FsZXMg ICAgIHwgICAgIDQgfCAgIDQ4MDAgfCAgICAxCisgcGVyc29ubmVsIHwgICAgIDUgfCAgIDM1MDAg fCAgICAxCisgZGV2ZWxvcCAgIHwgICAgIDcgfCAgIDQyMDAgfCAgICAxCiAgcGVyc29ubmVsIHwg ICAgIDIgfCAgIDM5MDAgfCAgICAyCi0gZGV2ZWxvcCAgIHwgICAgMTEgfCAgIDUyMDAgfCAgICAz Ci0gZGV2ZWxvcCAgIHwgICAgMTAgfCAgIDUyMDAgfCAgICAzCisgZGV2ZWxvcCAgIHwgICAgIDkg fCAgIDQ1MDAgfCAgICAyCiAgc2FsZXMgICAgIHwgICAgIDEgfCAgIDUwMDAgfCAgICAzCisgZGV2 ZWxvcCAgIHwgICAgMTAgfCAgIDUyMDAgfCAgICAzCisgZGV2ZWxvcCAgIHwgICAgMTEgfCAgIDUy MDAgfCAgICAzCiAgZGV2ZWxvcCAgIHwgICAgIDggfCAgIDYwMDAgfCAgICA1CiAoMTAgcm93cykK IApAQCAtMzc1NCw3ICszNzU0LDcgQEAgRlJPTSBlbXBzYWxhcnk7CiBTRUxFQ1QKICAgICBlbXBu bywKICAgICBkZXBuYW1lLAotICAgIHJvd19udW1iZXIoKSBPVkVSIChQQVJUSVRJT04gQlkgZGVw bmFtZSBPUkRFUiBCWSBlbnJvbGxfZGF0ZSkgcm4sCisgICAgcm93X251bWJlcigpIE9WRVIgKFBB UlRJVElPTiBCWSBkZXBuYW1lIE9SREVSIEJZIGVucm9sbF9kYXRlLCBlbXBubykgcm4sCiAgICAg cmFuaygpIE9WRVIgKFBBUlRJVElPTiBCWSBkZXBuYW1lIE9SREVSIEJZIGVucm9sbF9kYXRlIFJP V1MgQkVUV0VFTgogICAgICAgICAgICAgICAgICBVTkJPVU5ERUQgUFJFQ0VESU5HIEFORCBVTkJP VU5ERUQgRk9MTE9XSU5HKSBybmssCiAgICAgY291bnQoKikgT1ZFUiAoUEFSVElUSU9OIEJZIGRl cG5hbWUgT1JERVIgQlkgZW5yb2xsX2RhdGUgUkFOR0UgQkVUV0VFTgpAQCAtMzc2NSw4ICszNzY1 LDggQEAgRlJPTSBlbXBzYWxhcnk7CiAgICAgIDggfCBkZXZlbG9wICAgfCAgMSB8ICAgMSB8ICAg MQogICAgIDEwIHwgZGV2ZWxvcCAgIHwgIDIgfCAgIDIgfCAgIDEKICAgICAxMSB8IGRldmVsb3Ag ICB8ICAzIHwgICAzIHwgICAxCi0gICAgIDkgfCBkZXZlbG9wICAgfCAgNCB8ICAgNCB8ICAgMgot ICAgICA3IHwgZGV2ZWxvcCAgIHwgIDUgfCAgIDQgfCAgIDIKKyAgICAgNyB8IGRldmVsb3AgICB8 ICA0IHwgICA0IHwgICAyCisgICAgIDkgfCBkZXZlbG9wICAgfCAgNSB8ICAgNCB8ICAgMgogICAg ICAyIHwgcGVyc29ubmVsIHwgIDEgfCAgIDEgfCAgIDEKICAgICAgNSB8IHBlcnNvbm5lbCB8ICAy IHwgICAyIHwgICAxCiAgICAgIDEgfCBzYWxlcyAgICAgfCAgMSB8ICAgMSB8ICAgMQpAQCAtNDIw Miw3ICs0MjAyLDcgQEAgU0VMRUNUICogRlJPTQogCiAtLSBFbnN1cmUgd2UgY29ycmVjdGx5IGZp bHRlciBvdXQgYWxsIG9mIHRoZSBydW4gY29uZGl0aW9ucyBmcm9tIGVhY2ggd2luZG93CiBTRUxF Q1QgKiBGUk9NCi0gIChTRUxFQ1QgKiwKKyAgKFNFTEVDVCBkZXBuYW1lLAogICAgICAgICAgIGNv dW50KHNhbGFyeSkgT1ZFUiAoUEFSVElUSU9OIEJZIGRlcG5hbWUgfHwgJycpIGMxLCAtLSB3MQog ICAgICAgICAgIHJvd19udW1iZXIoKSBPVkVSIChQQVJUSVRJT04gQlkgZGVwbmFtZSkgcm4sIC0t IHcyCiAgICAgICAgICAgY291bnQoKikgT1ZFUiAoUEFSVElUSU9OIEJZIGRlcG5hbWUpIGMyLCAt LSB3MgpAQCAtNDIxMCwxMCArNDIxMCwxMCBAQCBTRUxFQ1QgKiBGUk9NCiAgICAgICAgICAgbnRp bGUoMikgT1ZFUiAoUEFSVElUSU9OIEJZIGRlcG5hbWUpIG50IC0tIHcyCiAgICBGUk9NIGVtcHNh bGFyeQogKSBlIFdIRVJFIHJuIDw9IDEgQU5EIGMxIDw9IDMgQU5EIG50IDwgMjsKLSAgZGVwbmFt ZSAgfCBlbXBubyB8IHNhbGFyeSB8IGVucm9sbF9kYXRlIHwgYzEgfCBybiB8IGMyIHwgYzMgfCBu dCAKLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tKy0tLS0r LS0tLSstLS0tKy0tLS0KLSBwZXJzb25uZWwgfCAgICAgNSB8ICAgMzUwMCB8IDEyLTEwLTIwMDcg IHwgIDIgfCAgMSB8ICAyIHwgIDIgfCAgMQotIHNhbGVzICAgICB8ICAgICAzIHwgICA0ODAwIHwg MDgtMDEtMjAwNyAgfCAgMyB8ICAxIHwgIDMgfCAgMyB8ICAxCisgIGRlcG5hbWUgIHwgYzEgfCBy biB8IGMyIHwgYzMgfCBudCAKKy0tLS0tLS0tLS0tKy0tLS0rLS0tLSstLS0tKy0tLS0rLS0tLQor IHBlcnNvbm5lbCB8ICAyIHwgIDEgfCAgMiB8ICAyIHwgIDEKKyBzYWxlcyAgICAgfCAgMyB8ICAx IHwgIDMgfCAgMyB8ICAxCiAoMiByb3dzKQogCiAtLSBFbnN1cmUgd2UgcmVtb3ZlIHJlZmVyZW5j ZXMgdG8gcmVkdWNlZCBvdXRlciBqb2lucyBhcyBudWxsaW5nIHJlbHMgaW4gcnVuCkBAIC00NDk4 LDIzICs0NDk4LDIzIEBAIFNFTEVDVCAqIEZST00KICAgICAgICAgICBlbXBubywKICAgICAgICAg ICBzYWxhcnksCiAgICAgICAgICAgZW5yb2xsX2RhdGUsCi0gICAgICAgICAgcm93X251bWJlcigp IE9WRVIgKFBBUlRJVElPTiBCWSBkZXBuYW1lIE9SREVSIEJZIGVucm9sbF9kYXRlKSBBUyBmaXJz dF9lbXAsCi0gICAgICAgICAgcm93X251bWJlcigpIE9WRVIgKFBBUlRJVElPTiBCWSBkZXBuYW1l IE9SREVSIEJZIGVucm9sbF9kYXRlIERFU0MpIEFTIGxhc3RfZW1wCisgICAgICAgICAgcm93X251 bWJlcigpIE9WRVIgKFBBUlRJVElPTiBCWSBkZXBuYW1lIE9SREVSIEJZIGVucm9sbF9kYXRlLCBl bXBubykgQVMgZmlyc3RfZW1wLAorICAgICAgICAgIHJvd19udW1iZXIoKSBPVkVSIChQQVJUSVRJ T04gQlkgZGVwbmFtZSBPUkRFUiBCWSBlbnJvbGxfZGF0ZSBERVNDLCBlbXBubykgQVMgbGFzdF9l bXAKICAgIEZST00gZW1wc2FsYXJ5KSBlbXAKIFdIRVJFIGZpcnN0X2VtcCA9IDEgT1IgbGFzdF9l bXAgPSAxOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBTdWJxdWVyeSBTY2FuIG9uIGVtcAog ICAgRmlsdGVyOiAoKGVtcC5maXJzdF9lbXAgPSAxKSBPUiAoZW1wLmxhc3RfZW1wID0gMSkpCiAg ICAtPiAgV2luZG93QWdnCi0gICAgICAgICBXaW5kb3c6IHcyIEFTIChQQVJUSVRJT04gQlkgZW1w c2FsYXJ5LmRlcG5hbWUgT1JERVIgQlkgZW1wc2FsYXJ5LmVucm9sbF9kYXRlIFJPV1MgVU5CT1VO REVEIFBSRUNFRElORykKKyAgICAgICAgIFdpbmRvdzogdzIgQVMgKFBBUlRJVElPTiBCWSBlbXBz YWxhcnkuZGVwbmFtZSBPUkRFUiBCWSBlbXBzYWxhcnkuZW5yb2xsX2RhdGUsIGVtcHNhbGFyeS5l bXBubyBST1dTIFVOQk9VTkRFRCBQUkVDRURJTkcpCiAgICAgICAgICAtPiAgSW5jcmVtZW50YWwg U29ydAotICAgICAgICAgICAgICAgU29ydCBLZXk6IGVtcHNhbGFyeS5kZXBuYW1lLCBlbXBzYWxh cnkuZW5yb2xsX2RhdGUKKyAgICAgICAgICAgICAgIFNvcnQgS2V5OiBlbXBzYWxhcnkuZGVwbmFt ZSwgZW1wc2FsYXJ5LmVucm9sbF9kYXRlLCBlbXBzYWxhcnkuZW1wbm8KICAgICAgICAgICAgICAg IFByZXNvcnRlZCBLZXk6IGVtcHNhbGFyeS5kZXBuYW1lCiAgICAgICAgICAgICAgICAtPiAgV2lu ZG93QWdnCi0gICAgICAgICAgICAgICAgICAgICBXaW5kb3c6IHcxIEFTIChQQVJUSVRJT04gQlkg ZW1wc2FsYXJ5LmRlcG5hbWUgT1JERVIgQlkgZW1wc2FsYXJ5LmVucm9sbF9kYXRlIFJPV1MgVU5C T1VOREVEIFBSRUNFRElORykKKyAgICAgICAgICAgICAgICAgICAgIFdpbmRvdzogdzEgQVMgKFBB UlRJVElPTiBCWSBlbXBzYWxhcnkuZGVwbmFtZSBPUkRFUiBCWSBlbXBzYWxhcnkuZW5yb2xsX2Rh dGUsIGVtcHNhbGFyeS5lbXBubyBST1dTIFVOQk9VTkRFRCBQUkVDRURJTkcpCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgU29ydAotICAgICAgICAgICAgICAgICAgICAgICAgICAgU29ydCBLZXk6 IGVtcHNhbGFyeS5kZXBuYW1lLCBlbXBzYWxhcnkuZW5yb2xsX2RhdGUgREVTQworICAgICAgICAg ICAgICAgICAgICAgICAgICAgU29ydCBLZXk6IGVtcHNhbGFyeS5kZXBuYW1lLCBlbXBzYWxhcnku ZW5yb2xsX2RhdGUgREVTQywgZW1wc2FsYXJ5LmVtcG5vCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gZW1wc2FsYXJ5CiAoMTIgcm93cykKIApAQCAtNDUyMywxNCAr NDUyMywxNCBAQCBTRUxFQ1QgKiBGUk9NCiAgICAgICAgICAgZW1wbm8sCiAgICAgICAgICAgc2Fs YXJ5LAogICAgICAgICAgIGVucm9sbF9kYXRlLAotICAgICAgICAgIHJvd19udW1iZXIoKSBPVkVS IChQQVJUSVRJT04gQlkgZGVwbmFtZSBPUkRFUiBCWSBlbnJvbGxfZGF0ZSkgQVMgZmlyc3RfZW1w LAotICAgICAgICAgIHJvd19udW1iZXIoKSBPVkVSIChQQVJUSVRJT04gQlkgZGVwbmFtZSBPUkRF UiBCWSBlbnJvbGxfZGF0ZSBERVNDKSBBUyBsYXN0X2VtcAorICAgICAgICAgIHJvd19udW1iZXIo KSBPVkVSIChQQVJUSVRJT04gQlkgZGVwbmFtZSBPUkRFUiBCWSBlbnJvbGxfZGF0ZSwgZW1wbm8p IEFTIGZpcnN0X2VtcCwKKyAgICAgICAgICByb3dfbnVtYmVyKCkgT1ZFUiAoUEFSVElUSU9OIEJZ IGRlcG5hbWUgT1JERVIgQlkgZW5yb2xsX2RhdGUgREVTQywgZW1wbm8pIEFTIGxhc3RfZW1wCiAg ICBGUk9NIGVtcHNhbGFyeSkgZW1wCiBXSEVSRSBmaXJzdF9lbXAgPSAxIE9SIGxhc3RfZW1wID0g MTsKICAgZGVwbmFtZSAgfCBlbXBubyB8IHNhbGFyeSB8IGVucm9sbF9kYXRlIHwgZmlyc3RfZW1w IHwgbGFzdF9lbXAgCiAtLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLQogIGRldmVsb3AgICB8ICAgICA4IHwgICA2MDAwIHwgMTAt MDEtMjAwNiAgfCAgICAgICAgIDEgfCAgICAgICAgNQotIGRldmVsb3AgICB8ICAgICA3IHwgICA0 MjAwIHwgMDEtMDEtMjAwOCAgfCAgICAgICAgIDUgfCAgICAgICAgMQorIGRldmVsb3AgICB8ICAg ICA3IHwgICA0MjAwIHwgMDEtMDEtMjAwOCAgfCAgICAgICAgIDQgfCAgICAgICAgMQogIHBlcnNv bm5lbCB8ICAgICAyIHwgICAzOTAwIHwgMTItMjMtMjAwNiAgfCAgICAgICAgIDEgfCAgICAgICAg MgogIHBlcnNvbm5lbCB8ICAgICA1IHwgICAzNTAwIHwgMTItMTAtMjAwNyAgfCAgICAgICAgIDIg fCAgICAgICAgMQogIHNhbGVzICAgICB8ICAgICAxIHwgICA1MDAwIHwgMTAtMDEtMjAwNiAgfCAg ICAgICAgIDEgfCAgICAgICAgMwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdHNy Zi5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC90c3JmLnNxbAppbmRleCA3YzIyNTI5YTBkYi4u YWY3YmQ0YmRkOTUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3RzcmYuc3FsCisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3RzcmYuc3FsCkBAIC05Niw3ICs5Niw3IEBAIFNFTEVD VCBkYXRhYSwgZGF0YWIgYiwgZ2VuZXJhdGVfc2VyaWVzKDEsMikgZywgY291bnQoKikgRlJPTSBm ZXcgR1JPVVAgQlkgQ1VCRShkCiBTRUxFQ1QgZGF0YWEsIGRhdGFiIGIsIGdlbmVyYXRlX3Nlcmll cygxLDIpIGcsIGNvdW50KCopIEZST00gZmV3IEdST1VQIEJZIENVQkUoZGF0YWEsIGRhdGFiKSBP UkRFUiBCWSBkYXRhYTsKIFNFTEVDVCBkYXRhYSwgZGF0YWIgYiwgZ2VuZXJhdGVfc2VyaWVzKDEs MikgZywgY291bnQoKikgRlJPTSBmZXcgR1JPVVAgQlkgQ1VCRShkYXRhYSwgZGF0YWIpIE9SREVS IEJZIGc7CiBTRUxFQ1QgZGF0YWEsIGRhdGFiIGIsIGdlbmVyYXRlX3NlcmllcygxLDIpIGcsIGNv dW50KCopIEZST00gZmV3IEdST1VQIEJZIENVQkUoZGF0YWEsIGRhdGFiLCBnKTsKLVNFTEVDVCBk YXRhYSwgZGF0YWIgYiwgZ2VuZXJhdGVfc2VyaWVzKDEsMikgZywgY291bnQoKikgRlJPTSBmZXcg R1JPVVAgQlkgQ1VCRShkYXRhYSwgZGF0YWIsIGcpIE9SREVSIEJZIGRhdGFhOworU0VMRUNUIGRh dGFhLCBkYXRhYiBiLCBnZW5lcmF0ZV9zZXJpZXMoMSwyKSBnLCBjb3VudCgqKSBGUk9NIGZldyBH Uk9VUCBCWSBDVUJFKGRhdGFhLCBkYXRhYiwgZykgT1JERVIgQlkgZGF0YWEsIGRhdGFiLCBnOwog U0VMRUNUIGRhdGFhLCBkYXRhYiBiLCBnZW5lcmF0ZV9zZXJpZXMoMSwyKSBnLCBjb3VudCgqKSBG Uk9NIGZldyBHUk9VUCBCWSBDVUJFKGRhdGFhLCBkYXRhYiwgZykgT1JERVIgQlkgZzsKIHJlc2V0 IGVuYWJsZV9oYXNoYWdnOwogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC93aW5k b3cuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2luZG93LnNxbAppbmRleCAzN2Q4MzdhMmY2 Ni4uY2IyOGQ1NTJmZTggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpbmRvdy5z cWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2luZG93LnNxbApAQCAtMjEsMTcgKzIxLDE3 IEBAIElOU0VSVCBJTlRPIGVtcHNhbGFyeSBWQUxVRVMKICgnZGV2ZWxvcCcsIDgsIDYwMDAsICcy MDA2LTEwLTAxJyksCiAoJ2RldmVsb3AnLCAxMSwgNTIwMCwgJzIwMDctMDgtMTUnKTsKIAotU0VM RUNUIGRlcG5hbWUsIGVtcG5vLCBzYWxhcnksIHN1bShzYWxhcnkpIE9WRVIgKFBBUlRJVElPTiBC WSBkZXBuYW1lKSBGUk9NIGVtcHNhbGFyeSBPUkRFUiBCWSBkZXBuYW1lLCBzYWxhcnk7CitTRUxF Q1QgZGVwbmFtZSwgZW1wbm8sIHNhbGFyeSwgc3VtKHNhbGFyeSkgT1ZFUiAoUEFSVElUSU9OIEJZ IGRlcG5hbWUpIEZST00gZW1wc2FsYXJ5IE9SREVSIEJZIGRlcG5hbWUsIHNhbGFyeSwgZW1wbm87 CiAKLVNFTEVDVCBkZXBuYW1lLCBlbXBubywgc2FsYXJ5LCByYW5rKCkgT1ZFUiAoUEFSVElUSU9O IEJZIGRlcG5hbWUgT1JERVIgQlkgc2FsYXJ5KSBGUk9NIGVtcHNhbGFyeTsKK1NFTEVDVCBkZXBu YW1lLCBlbXBubywgc2FsYXJ5LCByYW5rKCkgT1ZFUiAoUEFSVElUSU9OIEJZIGRlcG5hbWUgT1JE RVIgQlkgc2FsYXJ5LCBlbXBubykgRlJPTSBlbXBzYWxhcnk7CiAKIC0tIHdpdGggR1JPVVAgQlkK IFNFTEVDVCBmb3VyLCB0ZW4sIFNVTShTVU0oZm91cikpIE9WRVIgKFBBUlRJVElPTiBCWSBmb3Vy KSwgQVZHKHRlbikgRlJPTSB0ZW5rMQogR1JPVVAgQlkgZm91ciwgdGVuIE9SREVSIEJZIGZvdXIs IHRlbjsKIAotU0VMRUNUIGRlcG5hbWUsIGVtcG5vLCBzYWxhcnksIHN1bShzYWxhcnkpIE9WRVIg dyBGUk9NIGVtcHNhbGFyeSBXSU5ET1cgdyBBUyAoUEFSVElUSU9OIEJZIGRlcG5hbWUpOworU0VM RUNUIGRlcG5hbWUsIGVtcG5vLCBzYWxhcnksIHN1bShzYWxhcnkpIE9WRVIgdyBGUk9NIGVtcHNh bGFyeSBXSU5ET1cgdyBBUyAoUEFSVElUSU9OIEJZIGRlcG5hbWUpIE9SREVSIEJZIGRlcG5hbWUs IGVtcG5vOwogCi1TRUxFQ1QgZGVwbmFtZSwgZW1wbm8sIHNhbGFyeSwgcmFuaygpIE9WRVIgdyBG Uk9NIGVtcHNhbGFyeSBXSU5ET1cgdyBBUyAoUEFSVElUSU9OIEJZIGRlcG5hbWUgT1JERVIgQlkg c2FsYXJ5KSBPUkRFUiBCWSByYW5rKCkgT1ZFUiB3OworU0VMRUNUIGRlcG5hbWUsIGVtcG5vLCBz YWxhcnksIHJhbmsoKSBPVkVSIHcgRlJPTSBlbXBzYWxhcnkgV0lORE9XIHcgQVMgKFBBUlRJVElP TiBCWSBkZXBuYW1lIE9SREVSIEJZIHNhbGFyeSkgT1JERVIgQlkgcmFuaygpIE9WRVIgdywgZW1w bm87CiAKIC0tIGVtcHR5IHdpbmRvdyBzcGVjaWZpY2F0aW9uCiBTRUxFQ1QgQ09VTlQoKikgT1ZF UiAoKSBGUk9NIHRlbmsxIFdIRVJFIHVuaXF1ZTIgPCAxMDsKQEAgLTExNDUsNyArMTE0NSw3IEBA IEZST00gZW1wc2FsYXJ5OwogU0VMRUNUCiAgICAgZW1wbm8sCiAgICAgZGVwbmFtZSwKLSAgICBy b3dfbnVtYmVyKCkgT1ZFUiAoUEFSVElUSU9OIEJZIGRlcG5hbWUgT1JERVIgQlkgZW5yb2xsX2Rh dGUpIHJuLAorICAgIHJvd19udW1iZXIoKSBPVkVSIChQQVJUSVRJT04gQlkgZGVwbmFtZSBPUkRF UiBCWSBlbnJvbGxfZGF0ZSwgZW1wbm8pIHJuLAogICAgIHJhbmsoKSBPVkVSIChQQVJUSVRJT04g QlkgZGVwbmFtZSBPUkRFUiBCWSBlbnJvbGxfZGF0ZSBST1dTIEJFVFdFRU4KICAgICAgICAgICAg ICAgICAgVU5CT1VOREVEIFBSRUNFRElORyBBTkQgVU5CT1VOREVEIEZPTExPV0lORykgcm5rLAog ICAgIGNvdW50KCopIE9WRVIgKFBBUlRJVElPTiBCWSBkZXBuYW1lIE9SREVSIEJZIGVucm9sbF9k YXRlIFJBTkdFIEJFVFdFRU4KQEAgLTEzNjYsNyArMTM2Niw3IEBAIFNFTEVDVCAqIEZST00KIAog LS0gRW5zdXJlIHdlIGNvcnJlY3RseSBmaWx0ZXIgb3V0IGFsbCBvZiB0aGUgcnVuIGNvbmRpdGlv bnMgZnJvbSBlYWNoIHdpbmRvdwogU0VMRUNUICogRlJPTQotICAoU0VMRUNUICosCisgIChTRUxF Q1QgZGVwbmFtZSwKICAgICAgICAgICBjb3VudChzYWxhcnkpIE9WRVIgKFBBUlRJVElPTiBCWSBk ZXBuYW1lIHx8ICcnKSBjMSwgLS0gdzEKICAgICAgICAgICByb3dfbnVtYmVyKCkgT1ZFUiAoUEFS VElUSU9OIEJZIGRlcG5hbWUpIHJuLCAtLSB3MgogICAgICAgICAgIGNvdW50KCopIE9WRVIgKFBB UlRJVElPTiBCWSBkZXBuYW1lKSBjMiwgLS0gdzIKQEAgLTE1MDcsOCArMTUwNyw4IEBAIFNFTEVD VCAqIEZST00KICAgICAgICAgICBlbXBubywKICAgICAgICAgICBzYWxhcnksCiAgICAgICAgICAg ZW5yb2xsX2RhdGUsCi0gICAgICAgICAgcm93X251bWJlcigpIE9WRVIgKFBBUlRJVElPTiBCWSBk ZXBuYW1lIE9SREVSIEJZIGVucm9sbF9kYXRlKSBBUyBmaXJzdF9lbXAsCi0gICAgICAgICAgcm93 X251bWJlcigpIE9WRVIgKFBBUlRJVElPTiBCWSBkZXBuYW1lIE9SREVSIEJZIGVucm9sbF9kYXRl IERFU0MpIEFTIGxhc3RfZW1wCisgICAgICAgICAgcm93X251bWJlcigpIE9WRVIgKFBBUlRJVElP TiBCWSBkZXBuYW1lIE9SREVSIEJZIGVucm9sbF9kYXRlLCBlbXBubykgQVMgZmlyc3RfZW1wLAor ICAgICAgICAgIHJvd19udW1iZXIoKSBPVkVSIChQQVJUSVRJT04gQlkgZGVwbmFtZSBPUkRFUiBC WSBlbnJvbGxfZGF0ZSBERVNDLCBlbXBubykgQVMgbGFzdF9lbXAKICAgIEZST00gZW1wc2FsYXJ5 KSBlbXAKIFdIRVJFIGZpcnN0X2VtcCA9IDEgT1IgbGFzdF9lbXAgPSAxOwogCkBAIC0xNTE3LDgg KzE1MTcsOCBAQCBTRUxFQ1QgKiBGUk9NCiAgICAgICAgICAgZW1wbm8sCiAgICAgICAgICAgc2Fs YXJ5LAogICAgICAgICAgIGVucm9sbF9kYXRlLAotICAgICAgICAgIHJvd19udW1iZXIoKSBPVkVS IChQQVJUSVRJT04gQlkgZGVwbmFtZSBPUkRFUiBCWSBlbnJvbGxfZGF0ZSkgQVMgZmlyc3RfZW1w LAotICAgICAgICAgIHJvd19udW1iZXIoKSBPVkVSIChQQVJUSVRJT04gQlkgZGVwbmFtZSBPUkRF UiBCWSBlbnJvbGxfZGF0ZSBERVNDKSBBUyBsYXN0X2VtcAorICAgICAgICAgIHJvd19udW1iZXIo KSBPVkVSIChQQVJUSVRJT04gQlkgZGVwbmFtZSBPUkRFUiBCWSBlbnJvbGxfZGF0ZSwgZW1wbm8p IEFTIGZpcnN0X2VtcCwKKyAgICAgICAgICByb3dfbnVtYmVyKCkgT1ZFUiAoUEFSVElUSU9OIEJZ IGRlcG5hbWUgT1JERVIgQlkgZW5yb2xsX2RhdGUgREVTQywgZW1wbm8pIEFTIGxhc3RfZW1wCiAg ICBGUk9NIGVtcHNhbGFyeSkgZW1wCiBXSEVSRSBmaXJzdF9lbXAgPSAxIE9SIGxhc3RfZW1wID0g MTsKIAotLSAKMi41MS4xCgo= --0000000000000fd3bb0643662729 Content-Type: text/x-patch; charset="US-ASCII"; name="v4-0001-Use-radix-sort-when-datum1-is-an-integer-type.patch" Content-Disposition: attachment; filename="v4-0001-Use-radix-sort-when-datum1-is-an-integer-type.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mhw2b7s03 RnJvbSA0NTY0YmJmNDZlNDA4MzQzNjg5NzVlMGNlYTUyOGQ2MDc3NDM3NTc2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIE5heWxvciA8am9obi5uYXlsb3JAcG9zdGdyZXNxbC5v cmc+CkRhdGU6IEZyaSwgMTcgT2N0IDIwMjUgMDk6NTc6NDMgKzA3MDAKU3ViamVjdDogW1BBVENI IHY0IDEvNF0gVXNlIHJhZGl4IHNvcnQgd2hlbiBkYXR1bTEgaXMgYW4gaW50ZWdlciB0eXBlCgpG b3Igbm93IHRoaXMgb25seSB3b3JrcyBmb3Igc2lnbmVkIGFuZCB1bnNpZ25lZCBpbnRzCndpdGgg dGhlIHVzdWFsIGNvbXBhcmlzb24gc2VtYW50aWNzLCB0aGUgc2FtZSB0eXBlcwpmb3Igd2hpY2gg d2UgcHJldmlvdXNseSBoYWQgc2VwYXJhdGUgcXNvcnQKc3BlY2lhbGl6YXRpb25zLgoKVGVtcG9y YXJ5IEdVQyB3aXBfcmFkaXhfc29ydCBmb3IgdGVzdGluZwotLS0KIHNyYy9iYWNrZW5kL3V0aWxz L21pc2MvZ3VjX3BhcmFtZXRlcnMuZGF0IHwgICA3ICsKIHNyYy9iYWNrZW5kL3V0aWxzL3NvcnQv dHVwbGVzb3J0LmMgICAgICAgIHwgMzk5ICsrKysrKysrKysrKysrKysrKysrLS0KIHNyYy9pbmNs dWRlL3V0aWxzL2d1Yy5oICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9pbmNsdWRlL3V0 aWxzL3R1cGxlc29ydC5oICAgICAgICAgICAgIHwgICAxICsKIDQgZmlsZXMgY2hhbmdlZCwgMzg5 IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3V0aWxzL21pc2MvZ3VjX3BhcmFtZXRlcnMuZGF0IGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9n dWNfcGFyYW1ldGVycy5kYXQKaW5kZXggMTEyODE2N2MwMjUuLmM5MTY3ZWI0YmI0IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRhdAorKysgYi9zcmMv YmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRhdApAQCAtMzQ2OSw2ICszNDY5LDEz IEBACiAgIG1heCA9PiAnSU5UX01BWCcsCiB9LAogCit7IG5hbWUgPT4gJ3dpcF9yYWRpeF9zb3J0 JywgdHlwZSA9PiAnYm9vbCcsIGNvbnRleHQgPT4gJ1BHQ19VU0VSU0VUJywgZ3JvdXAgPT4gJ0RF VkVMT1BFUl9PUFRJT05TJywKKyAgc2hvcnRfZGVzYyA9PiAnVGVzdCByYWRpeCBzb3J0IGZvciBk ZWJ1Z2dpbmcuJywKKyAgZmxhZ3MgPT4gJ0dVQ19OT1RfSU5fU0FNUExFJywKKyAgdmFyaWFibGUg PT4gJ3dpcF9yYWRpeF9zb3J0JywKKyAgYm9vdF92YWwgPT4gJ3RydWUnLAorfSwKKwogeyBuYW1l ID0+ICd3b3JrX21lbScsIHR5cGUgPT4gJ2ludCcsIGNvbnRleHQgPT4gJ1BHQ19VU0VSU0VUJywg Z3JvdXAgPT4gJ1JFU09VUkNFU19NRU0nLAogICBzaG9ydF9kZXNjID0+ICdTZXRzIHRoZSBtYXhp bXVtIG1lbW9yeSB0byBiZSB1c2VkIGZvciBxdWVyeSB3b3Jrc3BhY2VzLicsCiAgIGxvbmdfZGVz YyA9PiAnVGhpcyBtdWNoIG1lbW9yeSBjYW4gYmUgdXNlZCBieSBlYWNoIGludGVybmFsIHNvcnQg b3BlcmF0aW9uIGFuZCBoYXNoIHRhYmxlIGJlZm9yZSBzd2l0Y2hpbmcgdG8gdGVtcG9yYXJ5IGRp c2sgZmlsZXMuJywKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL3NvcnQvdHVwbGVzb3J0 LmMgYi9zcmMvYmFja2VuZC91dGlscy9zb3J0L3R1cGxlc29ydC5jCmluZGV4IDVkNDQxMWRjMzNm Li5jMmI5NjI1YWU4OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvc29ydC90dXBsZXNv cnQuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9zb3J0L3R1cGxlc29ydC5jCkBAIC0xMDQsNiAr MTA0LDcgQEAKICNpbmNsdWRlICJjb21tYW5kcy90YWJsZXNwYWNlLmgiCiAjaW5jbHVkZSAibWlz Y2FkbWluLmgiCiAjaW5jbHVkZSAicGdfdHJhY2UuaCIKKyNpbmNsdWRlICJwb3J0L3BnX2JpdHV0 aWxzLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9zaG1lbS5oIgogI2luY2x1ZGUgInV0aWxzL2d1Yy5o IgogI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCkBAIC0xMjIsNiArMTIzLDcgQEAKIAogLyog R1VDIHZhcmlhYmxlcyAqLwogYm9vbAkJdHJhY2Vfc29ydCA9IGZhbHNlOworYm9vbAkJd2lwX3Jh ZGl4X3NvcnQgPSB0cnVlOwkvKiBGSVhNRSBub3QgZm9yIGNvbW1pdCAqLwogCiAjaWZkZWYgREVC VUdfQk9VTkRFRF9TT1JUCiBib29sCQlvcHRpbWl6ZV9ib3VuZGVkX3NvcnQgPSB0cnVlOwpAQCAt NjE1LDYgKzYxNywyNSBAQCBxc29ydF90dXBsZV9pbnQzMl9jb21wYXJlKFNvcnRUdXBsZSAqYSwg U29ydFR1cGxlICpiLCBUdXBsZXNvcnRzdGF0ZSAqc3RhdGUpCiAjZGVmaW5lIFNUX0RFRklORQog I2luY2x1ZGUgImxpYi9zb3J0X3RlbXBsYXRlLmgiCiAKKworI2lmZGVmIFVTRV9BU1NFUlRfQ0hF Q0tJTkcKKy8qIFdJUDogZm9yIG5vdyBwcmVmZXIgdGVzdCBjb3ZlcmFnZSBvZiByYWRpeCBzb3J0 IGluIEFzc2VydCBidWlsZHMuICovCisjZGVmaW5lIFFTT1JUX1RIUkVTSE9MRCAwCisjZWxzZQor LyogV0lQOiBsb3cgYmVjYXVzZSBxc29ydF90dXBsZSgpIGlzIHNsb3cgLS0gd2UgY291bGQgcmFp c2UgdGhpcyB3aXRoIGEgbmV3IHNwZWNpYWxpemF0aW9uICovCisjZGVmaW5lIFFTT1JUX1RIUkVT SE9MRCA0MAorI2VuZGlmCisKK3R5cGVkZWYgc3RydWN0IFJhZGl4UGFydGl0aW9uSW5mbworewor CXVuaW9uCisJeworCQlzaXplX3QJCWNvdW50OworCQlzaXplX3QJCW9mZnNldDsKKwl9OworCXNp emVfdAkJbmV4dF9vZmZzZXQ7Cit9CQkJUmFkaXhQYXJ0aXRpb25JbmZvOworCiAvKgogICoJCXR1 cGxlc29ydF9iZWdpbl94eHgKICAqCkBAIC0yNjYzLDEwICsyNjg0LDMzNCBAQCBzb3J0X2JvdW5k ZWRfaGVhcChUdXBsZXNvcnRzdGF0ZSAqc3RhdGUpCiAJc3RhdGUtPmJvdW5kVXNlZCA9IHRydWU7 CiB9CiAKK3N0YXRpYyBpbmxpbmUgdWludDhfdAorZXh0cmFjdF9ieXRlKERhdHVtIGtleSwgaW50 IGxldmVsKQoreworCXJldHVybiAoa2V5ID4+ICgoKFNJWkVPRl9EQVRVTSAtIDEpIC0gbGV2ZWwp ICogOCkpICYgMHhGRjsKK30KKworLyoKKyAqIE5vcm1hbGl6ZSBkYXR1bSB0byB3b3JrIHdpdGgg cHVyZSB1bnNpZ25lZCBjb21wYXJpc29uLAorICogdGFraW5nIEFTQy9ERVNDIGludG8gYWNjb3Vu dCBhcyB3ZWxsLgorICovCitzdGF0aWMgaW5saW5lIERhdHVtCitub3JtYWxpemVfZGF0dW0oRGF0 dW0gb3JpZywgU29ydFN1cHBvcnQgc3N1cCkKK3sKKwlEYXR1bQkJbm9ybV9kYXR1bTE7CisKKwlp ZiAoc3N1cC0+Y29tcGFyYXRvciA9PSBzc3VwX2RhdHVtX3NpZ25lZF9jbXApCisJeworCQlub3Jt X2RhdHVtMSA9IG9yaWcgKyAoKHVpbnQ2NCkgUEdfSU5UNjRfTUFYKSArIDE7CisJfQorCWVsc2Ug aWYgKHNzdXAtPmNvbXBhcmF0b3IgPT0gc3N1cF9kYXR1bV9pbnQzMl9jbXApCisJeworCQkvKgor CQkgKiBGaXJzdCB0cnVuY2F0ZSB0byB1aW50MzIuIFRlY2huaWNhbGx5LCB3ZSBkb24ndCBuZWVk IHRvIGRvIHRoaXMsCisJCSAqIGJ1dCBpdCBmb3JjZXMgdGhlIHVwcGVyIGJ5dGVzIHRvIHJlbWFp biB0aGUgc2FtZSByZWdhcmRsZXNzIG9mCisJCSAqIHNpZ24uCisJCSAqLworCQl1aW50MzIJCXUz MiA9IERhdHVtR2V0VUludDMyKG9yaWcpICsgKCh1aW50MzIpIFBHX0lOVDMyX01BWCkgKyAxOwor CisJCW5vcm1fZGF0dW0xID0gVUludDMyR2V0RGF0dW0odTMyKTsKKwl9CisJZWxzZQorCXsKKwkJ QXNzZXJ0KHNzdXAtPmNvbXBhcmF0b3IgPT0gc3N1cF9kYXR1bV91bnNpZ25lZF9jbXApOworCQlu b3JtX2RhdHVtMSA9IG9yaWc7CisJfQorCisJaWYgKHNzdXAtPnNzdXBfcmV2ZXJzZSkKKwkJbm9y bV9kYXR1bTEgPSB+bm9ybV9kYXR1bTE7CisKKwlyZXR1cm4gbm9ybV9kYXR1bTE7Cit9CisKKy8q CisgKiBCYXNlZCBvbiBpbXBsZW1lbnRhdGlvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vc2thcnVw a2Uvc2thX3NvcnQgKEJvb3N0IGxpY2Vuc2UpLAorICogd2l0aCB0aGUgZm9sbG93aW5nIG5vbmNv c21ldGljIGNoYW5nZToKKyAqICAtIGNvdW50IHNvcnRlZCBwYXJ0aXRpb25zIGluIGV2ZXJ5IHBh c3MsIHJhdGhlciB0aGFuIG1haW50YWluaW5nIGEKKyAqICAgIGxpc3Qgb2YgdW5zb3J0ZWQgcGFy dGl0aW9ucworICovCitzdGF0aWMgdm9pZAorcmFkaXhfc29ydF90dXBsZShTb3J0VHVwbGUgKmJl Z2luLCBzaXplX3Qgbl9lbGVtcywgaW50IGxldmVsLCBUdXBsZXNvcnRzdGF0ZSAqc3RhdGUpCit7 CisJUmFkaXhQYXJ0aXRpb25JbmZvIHBhcnRpdGlvbnNbMjU2XSA9IHswfTsKKwl1aW50OF90CQly ZW1haW5pbmdfcGFydGl0aW9uc1syNTZdID0gezB9OworCXNpemVfdAkJdG90YWwgPSAwOworCWlu dAkJCW51bV9wYXJ0aXRpb25zID0gMDsKKwlpbnQJCQludW1fcmVtYWluaW5nOworCVNvcnRTdXBw b3J0IHNzdXAgPSAmc3RhdGUtPmJhc2Uuc29ydEtleXNbMF07CisJc2l6ZV90CQlzdGFydF9vZmZz ZXQgPSAwOworCVNvcnRUdXBsZSAgKnBhcnRpdGlvbl9iZWdpbiA9IGJlZ2luOworCisJLyogY291 bnQga2V5IGNodW5rcyAqLworCWZvciAoU29ydFR1cGxlICp0dXAgPSBiZWdpbjsgdHVwIDwgYmVn aW4gKyBuX2VsZW1zOyB0dXArKykKKwl7CisJCXVpbnQ4CQljdXJyZW50X2J5dGU7CisKKwkJLyog ZXh0cmFjdCB0aGUgYnl0ZSBmb3IgdGhpcyBsZXZlbCBmcm9tIHRoZSBub3JtYWxpemVkIGRhdHVt ICovCisJCWN1cnJlbnRfYnl0ZSA9IGV4dHJhY3RfYnl0ZShub3JtYWxpemVfZGF0dW0odHVwLT5k YXR1bTEsIHNzdXApLAorCQkJCQkJCQkJbGV2ZWwpOworCisJCS8qIHNhdmUgaXQgZm9yIHRoZSBw ZXJtdXRhdGlvbiBzdGVwICovCisJCXR1cC0+Y3VycmVudF9ieXRlID0gY3VycmVudF9ieXRlOwor CisJCXBhcnRpdGlvbnNbY3VycmVudF9ieXRlXS5jb3VudCsrOworCX0KKworCS8qIGNvbXB1dGUg cGFydGl0aW9uIG9mZnNldHMgKi8KKwlmb3IgKGludCBpID0gMDsgaSA8IDI1NjsgaSsrKQorCXsK KwkJc2l6ZV90CQljb3VudCA9IHBhcnRpdGlvbnNbaV0uY291bnQ7CisKKwkJaWYgKGNvdW50KQor CQl7CisJCQlwYXJ0aXRpb25zW2ldLm9mZnNldCA9IHRvdGFsOworCQkJdG90YWwgKz0gY291bnQ7 CisJCQlyZW1haW5pbmdfcGFydGl0aW9uc1tudW1fcGFydGl0aW9uc10gPSBpOworCQkJbnVtX3Bh cnRpdGlvbnMrKzsKKwkJfQorCQlwYXJ0aXRpb25zW2ldLm5leHRfb2Zmc2V0ID0gdG90YWw7CisJ fQorCisJbnVtX3JlbWFpbmluZyA9IG51bV9wYXJ0aXRpb25zOworCisJLyoKKwkgKiBQZXJtdXRl IHR1cGxlcyB0byBjb3JyZWN0IHBhcnRpdGlvbi4gSWYgd2Ugc3RhcnRlZCB3aXRoIG9uZSBwYXJ0 aXRpb24sCisJICogdGhlcmUgaXMgbm90aGluZyB0byBkby4gSWYgYSBwZXJtdXRhdGlvbiBmcm9t IGEgcHJldmlvdXMgaXRlcmF0aW9uCisJICogcmVzdWx0cyBpbiBhIHNpbmdsZSBwYXJ0aXRpb24g dGhhdCBoYXNuJ3QgYmVlbiBtYXJrZWQgYXMgc29ydGVkLCB3ZQorCSAqIGtub3cgaXQncyBhY3R1 YWxseSBzb3J0ZWQuCisJICovCisJd2hpbGUgKG51bV9yZW1haW5pbmcgPiAxKQorCXsKKwkJLyoK KwkJICogV2UgY2FuIG9ubHkgZXhpdCB0aGUgbG9vcCB3aGVuIGFsbCBwYXJ0aXRpb25zIGFyZSBz b3J0ZWQsIHNvIG11c3QKKwkJICogcmVzZXQgZXZlcnkgaXRlcmF0aW9uCisJCSAqLworCQludW1f cmVtYWluaW5nID0gbnVtX3BhcnRpdGlvbnM7CisKKwkJZm9yIChpbnQgaSA9IDA7IGkgPCBudW1f cGFydGl0aW9uczsgaSsrKQorCQl7CisJCQl1aW50OAkJaWR4ID0gcmVtYWluaW5nX3BhcnRpdGlv bnNbaV07CisKKwkJCVJhZGl4UGFydGl0aW9uSW5mbyBwYXJ0ID0gcGFydGl0aW9uc1tpZHhdOwor CisJCQlmb3IgKFNvcnRUdXBsZSAqc3QgPSBiZWdpbiArIHBhcnQub2Zmc2V0OworCQkJCSBzdCA8 IGJlZ2luICsgcGFydC5uZXh0X29mZnNldDsKKwkJCQkgc3QrKykKKwkJCXsKKwkJCQlzaXplX3QJ CW9mZnNldCA9IHBhcnRpdGlvbnNbc3QtPmN1cnJlbnRfYnl0ZV0ub2Zmc2V0Kys7CisJCQkJU29y dFR1cGxlCXRtcDsKKworCQkJCS8qIHN3YXAgY3VycmVudCB0dXBsZSB3aXRoIGRlc3RpbmF0aW9u IHBvc2l0aW9uICovCisJCQkJQXNzZXJ0KG9mZnNldCA8IG5fZWxlbXMpOworCQkJCXRtcCA9ICpz dDsKKwkJCQkqc3QgPSBiZWdpbltvZmZzZXRdOworCQkJCWJlZ2luW29mZnNldF0gPSB0bXA7CisJ CQl9OworCisJCQlpZiAocGFydC5vZmZzZXQgPT0gcGFydC5uZXh0X29mZnNldCkKKwkJCXsKKwkJ CQkvKiBwYXJ0aXRpb24gaXMgc29ydGVkICovCisJCQkJbnVtX3JlbWFpbmluZy0tOworCQkJfQor CQl9CisJfQorCisJLyogcmVjdXJzZSAqLworCWZvciAodWludDhfdCAqcnAgPSByZW1haW5pbmdf cGFydGl0aW9uczsKKwkJIHJwIDwgcmVtYWluaW5nX3BhcnRpdGlvbnMgKyBudW1fcGFydGl0aW9u czsKKwkJIHJwKyspCisJeworCQlzaXplX3QJCWVuZF9vZmZzZXQgPSBwYXJ0aXRpb25zWypycF0u bmV4dF9vZmZzZXQ7CisJCVNvcnRUdXBsZSAgKnBhcnRpdGlvbl9lbmQgPSBiZWdpbiArIGVuZF9v ZmZzZXQ7CisJCXB0cmRpZmZfdAludW1fZWxlbWVudHMgPSBlbmRfb2Zmc2V0IC0gc3RhcnRfb2Zm c2V0OworCisJCWlmIChudW1fZWxlbWVudHMgPiAxKQorCQl7CisJCQlpZiAobGV2ZWwgPCBTSVpF T0ZfREFUVU0gLSAxKQorCQkJeworCQkJCWlmIChudW1fZWxlbWVudHMgPCBRU09SVF9USFJFU0hP TEQpCisJCQkJeworCQkJCQlxc29ydF90dXBsZShwYXJ0aXRpb25fYmVnaW4sCisJCQkJCQkJCW51 bV9lbGVtZW50cywKKwkJCQkJCQkJc3RhdGUtPmJhc2UuY29tcGFyZXR1cCwKKwkJCQkJCQkJc3Rh dGUpOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQlyYWRpeF9zb3J0X3R1cGxlKHBhcnRp dGlvbl9iZWdpbiwKKwkJCQkJCQkJCSBudW1fZWxlbWVudHMsCisJCQkJCQkJCQkgbGV2ZWwgKyAx LAorCQkJCQkJCQkJIHN0YXRlKTsKKwkJCQl9CisJCQl9CisJCQllbHNlIGlmIChzdGF0ZS0+YmFz ZS5vbmx5S2V5ID09IE5VTEwpCisJCQl7CisJCQkJLyoKKwkJCQkgKiBXZSd2ZSBmaW5pc2hlZCBy YWRpeCBzb3J0IG9uIGFsbCBieXRlcyBvZiB0aGUgcGFzcy1ieS12YWx1ZQorCQkJCSAqIGRhdHVt IChwb3NzaWJseSBhYmJyZXZpYXRlZCksIG5vdyBxc29ydCB3aXRoIHRoZSB0aWVicmVhaworCQkJ CSAqIGNvbXBhcmF0b3IuCisJCQkJICovCisJCQkJcXNvcnRfdHVwbGUocGFydGl0aW9uX2JlZ2lu LAorCQkJCQkJCW51bV9lbGVtZW50cywKKwkJCQkJCQlzdGF0ZS0+YmFzZS5jb21wYXJldHVwX3Rp ZWJyZWFrLAorCQkJCQkJCXN0YXRlKTsKKwkJCX0KKwkJfQorCisJCXN0YXJ0X29mZnNldCA9IGVu ZF9vZmZzZXQ7CisJCXBhcnRpdGlvbl9iZWdpbiA9IHBhcnRpdGlvbl9lbmQ7CisJfQorfQorCiAv KgotICogU29ydCBhbGwgbWVtdHVwbGVzIHVzaW5nIHNwZWNpYWxpemVkIHFzb3J0KCkgcm91dGlu ZXMuCisgKiBQYXJ0aXRpb24gdHVwbGVzIGJ5IE5VTEwgYW5kIE5PVCBOVUxMIGZpcnN0IHNvcnQg a2V5LgorICogVGhlbiBkaXNwYXRjaCB0byBlaXRoZXIgcmFkaXggc29ydCBvciBxc29ydC4KKyAq Lworc3RhdGljIHZvaWQKK3NvcnRfYnl2YWx1ZV9kYXR1bShUdXBsZXNvcnRzdGF0ZSAqc3RhdGUp Cit7CisJU29ydFN1cHBvcnREYXRhIHNzdXAgPSBzdGF0ZS0+YmFzZS5zb3J0S2V5c1swXTsKKwor CWJvb2wJCW51bGxzX2ZpcnN0ID0gc3N1cC5zc3VwX251bGxzX2ZpcnN0OworCVNvcnRUdXBsZSAg KmRhdGEgPSBzdGF0ZS0+bWVtdHVwbGVzOworCVNvcnRUdXBsZSAgKm51bGxfc3RhcnQ7CisJU29y dFR1cGxlICAqbm90X251bGxfc3RhcnQ7CisJc2l6ZV90CQlkMSA9IDAsCisJCQkJZDIsCisJCQkJ bnVsbF9jb3VudCwKKwkJCQlub3RfbnVsbF9jb3VudDsKKworCS8qCisJICogRmlyc3QsIHBhcnRp dGlvbiBieSBOVUxMLW5lc3Mgb2YgdGhlIGxlYWRpbmcgc29ydCBrZXksIHNpbmNlIHdlIGNhbgor CSAqIG9ubHkgcmFkaXggc29ydCBvbiBOT1QgTlVMTCBwYXNzLWJ5LXZhbHVlIGRhdHVtcy4KKwkg Ki8KKworCS8qCisJICogRmluZCB0aGUgZmlyc3QgTk9UIE5VTEwgdHVwbGUgaWYgTlVMTFMgRklS U1QsIG9yIGZpcnN0IE5VTEwgZWxlbWVudCBpZgorCSAqIE5VTExTIExBU1QuIFRoaXMgaXMgYSBx dWljayBjaGVjayBmb3IgdGhlIGNvbW1vbiBjYXNlIHdoZXJlIGFsbCB0dXBsZXMKKwkgKiBhcmUg Tk9UIE5VTEwgaW4gdGhlIGZpcnN0IHNvcnQga2V5LgorCSAqLworCXdoaWxlIChkMSA8IHN0YXRl LT5tZW10dXBjb3VudCAmJiBkYXRhW2QxXS5pc251bGwxID09IG51bGxzX2ZpcnN0KQorCQlkMSsr OworCisJLyoKKwkgKiBJZiB3ZSBoYXZlIG1vcmUgdGhhbiBvbmUgdHVwbGUgbGVmdCBhZnRlciB0 aGUgcXVpY2sgY2hlY2ssIHBhcnRpdGlvbgorCSAqIHRoZSByZW1haW5kZXIgdXNpbmcgYnJhbmNo bGVzcyBjeWNsaWMgcGVybXV0YXRpb24sIGJhc2VkIG9uCisJICogaHR0cHM6Ly9vcmxwLm5ldC9i bG9nL2JyYW5jaGxlc3MtbG9tdXRvLXBhcnRpdGlvbmluZy8KKwkgKi8KKwlpZiAoZDEgPCBzdGF0 ZS0+bWVtdHVwY291bnQgLSAxKQorCXsKKwkJc2l6ZV90CQlqID0gZDE7CisJCVNvcnRUdXBsZQlz YXZlID0gZGF0YVtkMV07CS8qIGNyZWF0ZSBnYXAgYXQgZnJvbnQgKi8KKworCQkvKiBXSVA6IG1v cmUgY29tbWVudHMgKi8KKwkJd2hpbGUgKGogPCBzdGF0ZS0+bWVtdHVwY291bnQgLSAxKQorCQl7 CisJCQlkYXRhW2pdID0gZGF0YVtkMV07CisJCQlqICs9IDE7CisJCQlkYXRhW2QxXSA9IGRhdGFb al07CisJCQlkMSArPSAoZGF0YVtkMV0uaXNudWxsMSA9PSBudWxsc19maXJzdCk7CisJCX0KKwor CQlkYXRhW2pdID0gZGF0YVtkMV07CisJCWRhdGFbZDFdID0gc2F2ZTsKKwkJZDEgKz0gKGRhdGFb ZDFdLmlzbnVsbDEgPT0gbnVsbHNfZmlyc3QpOworCX0KKworCS8qIGQxIGlzIG5vdyB0aGUgbnVt YmVyIG9mIGVsZW1lbnRzIGluIHRoZSBsZWZ0IHBhcnRpdGlvbiAqLworCWQyID0gc3RhdGUtPm1l bXR1cGNvdW50IC0gZDE7CisKKwkvKiBzZXQgcG9pbnRlcnMgYW5kIGNvdW50cyBmb3IgZWFjaCBw YXJ0aXRpb24gKi8KKwlpZiAobnVsbHNfZmlyc3QpCisJeworCQludWxsX3N0YXJ0ID0gc3RhdGUt Pm1lbXR1cGxlczsKKwkJbnVsbF9jb3VudCA9IGQxOworCQlub3RfbnVsbF9zdGFydCA9IHN0YXRl LT5tZW10dXBsZXMgKyBkMTsKKwkJbm90X251bGxfY291bnQgPSBkMjsKKwl9CisJZWxzZQorCXsK KwkJbm90X251bGxfc3RhcnQgPSBzdGF0ZS0+bWVtdHVwbGVzOworCQlub3RfbnVsbF9jb3VudCA9 IGQxOworCQludWxsX3N0YXJ0ID0gc3RhdGUtPm1lbXR1cGxlcyArIGQxOworCQludWxsX2NvdW50 ID0gZDI7CisJfQorCisJZm9yIChTb3J0VHVwbGUgKnR1cCA9IG51bGxfc3RhcnQ7CisJCSB0dXAg PCBudWxsX3N0YXJ0ICsgbnVsbF9jb3VudDsKKwkJIHR1cCsrKQorCQlBc3NlcnQodHVwLT5pc251 bGwxID09IHRydWUpOworCWZvciAoU29ydFR1cGxlICp0dXAgPSBub3RfbnVsbF9zdGFydDsKKwkJ IHR1cCA8IG5vdF9udWxsX3N0YXJ0ICsgbm90X251bGxfY291bnQ7CisJCSB0dXArKykKKwkJQXNz ZXJ0KHR1cC0+aXNudWxsMSA9PSBmYWxzZSk7CisKKwkvKgorCSAqIFNvcnQgdGhlIE5VTEwgcGFy dGl0aW9uIHVzaW5nIHRpZWJyZWFrIGNvbXBhcmF0b3IsIGlmIG5lY2Vzc2FyeS4gWFhYCisJICog dGhpcyB3aWxsIHJlcGVhdCB0aGUgY29tcGFyaXNvbiBvbiBpc251bGwxIGZvciBhYmJyZXZpYXRl ZCBrZXlzLgorCSAqLworCWlmIChzdGF0ZS0+YmFzZS5vbmx5S2V5ID09IE5VTEwgJiYgbnVsbF9j b3VudCA+IDEpCisJeworCQlxc29ydF90dXBsZShudWxsX3N0YXJ0LAorCQkJCQludWxsX2NvdW50 LAorCQkJCQlzdGF0ZS0+YmFzZS5jb21wYXJldHVwX3RpZWJyZWFrLAorCQkJCQlzdGF0ZSk7CisJ fQorCisJLyoKKwkgKiBTb3J0IHRoZSBOT1QgTlVMTCBwYXJ0aXRpb24sIHVzaW5nIHJhZGl4IHNv cnQgaWYgbGFyZ2UgZW5vdWdoLAorCSAqIG90aGVyd2lzZSBmYWxsIGJhY2sgdG8gcXVpY2tzb3J0 LgorCSAqLworCWlmIChub3RfbnVsbF9jb3VudCA+IDEpCisJeworCQlpZiAobm90X251bGxfY291 bnQgPCBRU09SVF9USFJFU0hPTEQpCisJCXsKKwkJCS8qCisJCQkgKiBXSVA6IFdlIGNvdWxkIGNv bXB1dGUgdGhlIGNvbW1vbiBwcmVmaXgsIHNhdmUgdGhlIGZvbGxvd2luZworCQkJICogYnl0ZSBp biBjdXJyZW50X2J5dGUsIGFuZCB1c2UgYSBuZXcgcXNvcnQgc3BlY2lhbGl6YXRpb24gZm9yCisJ CQkgKiB0aGF0LiBTYW1lIGZvciB0aGUgZGl2ZXJzaW9uIHRvIHFzb3J0IHdoaWxlIHJlY3Vyc2lu ZyBkdXJpbmcKKwkJCSAqIHJhZGl4IHNvcnQuCisJCQkgKi8KKwkJCXFzb3J0X3R1cGxlKG5vdF9u dWxsX3N0YXJ0LAorCQkJCQkJbm90X251bGxfY291bnQsCisJCQkJCQlzdGF0ZS0+YmFzZS5jb21w YXJldHVwLAorCQkJCQkJc3RhdGUpOworCQl9CisJCWVsc2UKKwkJeworCQkJcmFkaXhfc29ydF90 dXBsZShub3RfbnVsbF9zdGFydCwKKwkJCQkJCQkgbm90X251bGxfY291bnQsCisJCQkJCQkJIDAs CisJCQkJCQkJIHN0YXRlKTsKKwkJfQorCX0KK30KKworLyogVmVyaWZ5IHNvcnQgdXNpbmcgc3Rh bmRhcmQgY29tcGFyYXRvci4gKi8KK3N0YXRpYyB2b2lkCit2ZXJpZnlfc29ydGVkX21lbXR1cGxl cyhUdXBsZXNvcnRzdGF0ZSAqc3RhdGUpCit7CisjaWZkZWYgVVNFX0FTU0VSVF9DSEVDS0lORwor CWZvciAoU29ydFR1cGxlICp0dXAgPSBzdGF0ZS0+bWVtdHVwbGVzICsgMTsKKwkJIHR1cCA8IHN0 YXRlLT5tZW10dXBsZXMgKyBzdGF0ZS0+bWVtdHVwY291bnQ7CisJCSB0dXArKykKKwl7CisjaWYg MAorCQlBc3NlcnQoQ09NUEFSRVRVUChzdGF0ZSwgdHVwIC0gMSwgdHVwKSA8PSAwKTsKKyNlbHNl CisJCWlmIChDT01QQVJFVFVQKHN0YXRlLCB0dXAgLSAxLCB0dXApID4gMCkKKwkJCWVsb2coRVJS T1IsICJTT1JUIEZBSUxFRCIpOworI2VuZGlmCisJfQorI2VuZGlmCit9CisKKy8qCisgKiBTb3J0 IGFsbCBtZW10dXBsZXMgdXNpbmcgc3BlY2lhbGl6ZWQgcm91dGluZXMuCiAgKgotICogUXVpY2tz b3J0IGlzIHVzZWQgZm9yIHNtYWxsIGluLW1lbW9yeSBzb3J0cywgYW5kIGV4dGVybmFsIHNvcnQg cnVucy4KKyAqIFF1aWNrc29ydCBvciByYWRpeCBzb3J0IGlzIHVzZWQgZm9yIHNtYWxsIGluLW1l bW9yeSBzb3J0cywgYW5kIGV4dGVybmFsIHNvcnQgcnVucy4KICAqLwogc3RhdGljIHZvaWQKIHR1 cGxlc29ydF9zb3J0X21lbXR1cGxlcyhUdXBsZXNvcnRzdGF0ZSAqc3RhdGUpCkBAIC0yNjgxLDI2 ICszMDI2LDQyIEBAIHR1cGxlc29ydF9zb3J0X21lbXR1cGxlcyhUdXBsZXNvcnRzdGF0ZSAqc3Rh dGUpCiAJCSAqLwogCQlpZiAoc3RhdGUtPmJhc2UuaGF2ZURhdHVtMSAmJiBzdGF0ZS0+YmFzZS5z b3J0S2V5cykKIAkJewotCQkJaWYgKHN0YXRlLT5iYXNlLnNvcnRLZXlzWzBdLmNvbXBhcmF0b3Ig PT0gc3N1cF9kYXR1bV91bnNpZ25lZF9jbXApCi0JCQl7Ci0JCQkJcXNvcnRfdHVwbGVfdW5zaWdu ZWQoc3RhdGUtPm1lbXR1cGxlcywKLQkJCQkJCQkJCSBzdGF0ZS0+bWVtdHVwY291bnQsCi0JCQkJ CQkJCQkgc3RhdGUpOwotCQkJCXJldHVybjsKLQkJCX0KLQkJCWVsc2UgaWYgKHN0YXRlLT5iYXNl LnNvcnRLZXlzWzBdLmNvbXBhcmF0b3IgPT0gc3N1cF9kYXR1bV9zaWduZWRfY21wKQorCQkJU29y dFN1cHBvcnREYXRhIHNzdXAgPSBzdGF0ZS0+YmFzZS5zb3J0S2V5c1swXTsKKworCQkJaWYgKHdp cF9yYWRpeF9zb3J0KQogCQkJewotCQkJCXFzb3J0X3R1cGxlX3NpZ25lZChzdGF0ZS0+bWVtdHVw bGVzLAotCQkJCQkJCQkgICBzdGF0ZS0+bWVtdHVwY291bnQsCi0JCQkJCQkJCSAgIHN0YXRlKTsK LQkJCQlyZXR1cm47CisJCQkJaWYgKChzc3VwLmNvbXBhcmF0b3IgPT0gc3N1cF9kYXR1bV91bnNp Z25lZF9jbXAgfHwKKwkJCQkJIHNzdXAuY29tcGFyYXRvciA9PSBzc3VwX2RhdHVtX3NpZ25lZF9j bXAgfHwKKwkJCQkJIHNzdXAuY29tcGFyYXRvciA9PSBzc3VwX2RhdHVtX2ludDMyX2NtcCkpCisJ CQkJeworCQkJCQlzb3J0X2J5dmFsdWVfZGF0dW0oc3RhdGUpOworCQkJCQl2ZXJpZnlfc29ydGVk X21lbXR1cGxlcyhzdGF0ZSk7CisJCQkJCXJldHVybjsKKwkJCQl9CiAJCQl9Ci0JCQllbHNlIGlm IChzdGF0ZS0+YmFzZS5zb3J0S2V5c1swXS5jb21wYXJhdG9yID09IHNzdXBfZGF0dW1faW50MzJf Y21wKQorCQkJZWxzZQogCQkJewotCQkJCXFzb3J0X3R1cGxlX2ludDMyKHN0YXRlLT5tZW10dXBs ZXMsCi0JCQkJCQkJCSAgc3RhdGUtPm1lbXR1cGNvdW50LAotCQkJCQkJCQkgIHN0YXRlKTsKLQkJ CQlyZXR1cm47CisJCQkJaWYgKHN0YXRlLT5iYXNlLnNvcnRLZXlzWzBdLmNvbXBhcmF0b3IgPT0g c3N1cF9kYXR1bV91bnNpZ25lZF9jbXApCisJCQkJeworCQkJCQlxc29ydF90dXBsZV91bnNpZ25l ZChzdGF0ZS0+bWVtdHVwbGVzLAorCQkJCQkJCQkJCSBzdGF0ZS0+bWVtdHVwY291bnQsCisJCQkJ CQkJCQkJIHN0YXRlKTsKKwkJCQkJcmV0dXJuOworCQkJCX0KKwkJCQllbHNlIGlmIChzdGF0ZS0+ YmFzZS5zb3J0S2V5c1swXS5jb21wYXJhdG9yID09IHNzdXBfZGF0dW1fc2lnbmVkX2NtcCkKKwkJ CQl7CisJCQkJCXFzb3J0X3R1cGxlX3NpZ25lZChzdGF0ZS0+bWVtdHVwbGVzLAorCQkJCQkJCQkJ ICAgc3RhdGUtPm1lbXR1cGNvdW50LAorCQkJCQkJCQkJICAgc3RhdGUpOworCQkJCQlyZXR1cm47 CisJCQkJfQorCQkJCWVsc2UgaWYgKHN0YXRlLT5iYXNlLnNvcnRLZXlzWzBdLmNvbXBhcmF0b3Ig PT0gc3N1cF9kYXR1bV9pbnQzMl9jbXApCisJCQkJeworCQkJCQlxc29ydF90dXBsZV9pbnQzMihz dGF0ZS0+bWVtdHVwbGVzLAorCQkJCQkJCQkJICBzdGF0ZS0+bWVtdHVwY291bnQsCisJCQkJCQkJ CQkgIHN0YXRlKTsKKwkJCQkJcmV0dXJuOworCQkJCX0KIAkJCX0KIAkJfQogCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS91dGlscy9ndWMuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL2d1Yy5oCmluZGV4 IGYyMWVjMzdkYTg5Li5iYzZmN2ZhNjBmMyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMv Z3VjLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvZ3VjLmgKQEAgLTMyNCw2ICszMjQsNyBAQCBl eHRlcm4gUEdETExJTVBPUlQgaW50IHRjcF91c2VyX3RpbWVvdXQ7CiBleHRlcm4gUEdETExJTVBP UlQgY2hhciAqcm9sZV9zdHJpbmc7CiBleHRlcm4gUEdETExJTVBPUlQgYm9vbCBpbl9ob3Rfc3Rh bmRieV9ndWM7CiBleHRlcm4gUEdETExJTVBPUlQgYm9vbCB0cmFjZV9zb3J0OworZXh0ZXJuIFBH RExMSU1QT1JUIGJvb2wgd2lwX3JhZGl4X3NvcnQ7CiAKICNpZmRlZiBERUJVR19CT1VOREVEX1NP UlQKIGV4dGVybiBQR0RMTElNUE9SVCBib29sIG9wdGltaXplX2JvdW5kZWRfc29ydDsKZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3R1cGxlc29ydC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMv dHVwbGVzb3J0LmgKaW5kZXggMGJmNTU5MDJhYTEuLmU0MGM2ZTUyZjgxIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS91dGlscy90dXBsZXNvcnQuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy90dXBs ZXNvcnQuaApAQCAtMTUwLDYgKzE1MCw3IEBAIHR5cGVkZWYgc3RydWN0CiAJdm9pZAkgICAqdHVw bGU7CQkJLyogdGhlIHR1cGxlIGl0c2VsZiAqLwogCURhdHVtCQlkYXR1bTE7CQkJLyogdmFsdWUg b2YgZmlyc3Qga2V5IGNvbHVtbiAqLwogCWJvb2wJCWlzbnVsbDE7CQkvKiBpcyBmaXJzdCBrZXkg Y29sdW1uIE5VTEw/ICovCisJdWludDgJCWN1cnJlbnRfYnl0ZTsJLyogY2h1bmsgb2YgZGF0dW0x IGNvbmRpdGlvbmVkIGZvciByYWRpeCBzb3J0ICovCiAJaW50CQkJc3JjdGFwZTsJCS8qIHNvdXJj ZSB0YXBlIG51bWJlciAqLwogfSBTb3J0VHVwbGU7CiAKLS0gCjIuNTEuMQoK --0000000000000fd3bb0643662729--