Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pQdZm-00068S-S9 for pgsql-hackers@arkaria.postgresql.org; Sat, 11 Feb 2023 00:17:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pQdZl-0001MY-Pb for pgsql-hackers@arkaria.postgresql.org; Sat, 11 Feb 2023 00:17:09 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pQdZk-0001MP-Tb for pgsql-hackers@lists.postgresql.org; Sat, 11 Feb 2023 00:17:09 +0000 Received: from mail-pj1-x102b.google.com ([2607:f8b0:4864:20::102b]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pQdZg-00048X-D2 for pgsql-hackers@postgresql.org; Sat, 11 Feb 2023 00:17:07 +0000 Received: by mail-pj1-x102b.google.com with SMTP id o13so7068950pjg.2 for ; Fri, 10 Feb 2023 16:17:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20210112.gappssmtp.com; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=vs13QMOE7srf90F1myhcz/9b78oEGXLxvFYTweSsxJE=; b=6errNUPJeh6fL1x22h9DWSzP/xSUrCEUmEtbazNYbySwLROjUbzxnw4dvrGT+qIYm8 xhWwu6fw7FR+d0jYlLrznwGDRy0QzFgQNFlIn4Zox5s6QIj9AL8aWZRok7lPX6IDxicx 8S+A4HcopOYPwGJrrnEpWxasmD97f+zqhKe7bYqljo5r9WVgThXiMSL6gXgz7TFlnujd +pQvTwL6PxpfZ5peFL9hyAdNk+1pVwgEtiC+eEoF4hKxPNaK3QnzaY90K7be5sQImVql c9VuR2EWZGZ3+TA71rbTRPkSn/3uOgugR0tRmKsIuTqYd1kL5TuqfNs+w1YGvPNZFrQB om2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vs13QMOE7srf90F1myhcz/9b78oEGXLxvFYTweSsxJE=; b=D/VZvblnbQ7meHHJz7kS4DJuRVJ8yOwlLIve0i0/o/+QwdMrI0vep6X6MhquDYalIb tagwqCtYgkGDZ1tAPTi3QPHca7rEltCOk/o3nOY79ruEfz8XHecHyc2aTeu9R4+clq75 uTpDVQFxCWqL3IPRT9snzC5C7ROg0FPcMtQnQRutyMDuSzuSPmfLZFlYgjKQw46jQso+ UzcYuairGmokl0qcOyAsrovopYyQbc6X5AtWJXpsKtV4gw2oMdDaSiPripz9L636gLp/ XtmtddfzLNlLppUWjr14mSMkBehjyDJubFqv//NybQpbpoNh2+RpJq3Rzr/tE8emAb90 zxAQ== X-Gm-Message-State: AO0yUKWKe4DzKiXhxbIWQ8PiCsNRbgr54EiNsSfG+LPcE+T2Tw7JvnEv bDxpWFpP0MHHSOL2BJfDPXL0dQ== X-Google-Smtp-Source: AK7set/6CqNrBLVSvmtLJUHMytr2uGDNEXXUhS6obI8gqivbdR6Ruyhp+mUqAXh2TThBhCNqwKYMsg== X-Received: by 2002:a17:903:110e:b0:196:8798:57d9 with SMTP id n14-20020a170903110e00b00196879857d9mr18961231plh.5.1676074622691; Fri, 10 Feb 2023 16:17:02 -0800 (PST) Received: from jeff-laptop.lan (c-73-231-146-4.hsd1.ca.comcast.net. [73.231.146.4]) by smtp.gmail.com with ESMTPSA id k6-20020a170902ba8600b001992181b5d5sm3869410pls.245.2023.02.10.16.17.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Feb 2023 16:17:01 -0800 (PST) Message-ID: <5ffeafe843d43a975f31479fbd211ab88404841b.camel@j-davis.com> Subject: Re: Move defaults toward ICU in 16? From: Jeff Davis To: Andres Freund Cc: Tom Lane , Thomas Munro , Robert Haas , pgsql-hackers@postgresql.org Date: Fri, 10 Feb 2023 16:17:00 -0800 In-Reply-To: <20230209022234.gihj4apas6ycaddq@awork3.anarazel.de> References: <510d284759f6e943ce15096167760b2edcb2e700.camel@j-davis.com> <1590310.1675379449@sss.pgh.pa.us> <337d581bae5d6253919f70acdfc184631f0ad41b.camel@j-davis.com> <20230209022234.gihj4apas6ycaddq@awork3.anarazel.de> Content-Type: multipart/mixed; boundary="=-/Q/EedosBfZlXnkRwwt7" User-Agent: Evolution 3.44.4-0ubuntu1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-/Q/EedosBfZlXnkRwwt7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 2023-02-08 at 18:22 -0800, Andres Freund wrote: > On 2023-02-08 12:16:46 -0800, Jeff Davis wrote: > > On Thu, 2023-02-02 at 18:10 -0500, Tom Lane wrote: > > > Yeah.=C2=A0 I would be resistant to making ICU a required dependency, > > > but it doesn't seem unreasonable to start moving towards it being > > > our default collation support. > >=20 > > Patch attached. >=20 > Unfortunately this fails widely on CI, with both compile time and > runtime New patches attached. 0001: build defaults to requiring ICU 0002: initdb defaults to using ICU (if server built with ICU) One CI test is failing: "Windows - Server 2019, VS 2019 - Meson & ninja"; if I apply Andres patch ( https://github.com/anarazel/postgres/commit/dde7c68 ), then it works. I ran into one annoyance with pg_upgrade, which is that a v15 cluster initialized with the defaults requires that the v16 cluster is initialized with --locale-provider=3Dlibc, because otherwise the old and new cluster will have mismatching template databases. Simple to fix once you see the error, but I wonder how many initdb scripts might be broken? I suppose it's just the cost of changing a default? Would an environment variable help for cases where it's difficult to pass that extra option down through a script? I also considered posting another patch to change the default for CREATE COLLATION, but there are a few issues I'm not sure about. Should the default be based on whether ICU support is available? Or the datlocprovider for the current database? And/or some kind of compatibility GUC? Notes on the tests I needed to fix, in case they are interesting or point to some kind of larger problem: * ecpg has a test that involves setting the client_encoding to LATIN1 which required a compatible server encoding so it was setting ENCODING=3DSQL_ASCII, which ICU doesn't support. The ecpg test did not look particularly sensitive to the locale, so I changed it to use client_encoding=3DSQL_ASCII instead, so that the server encoding doesn't matter. * citext has a test involving Turkish characters, which works for all libc locales, but in ICU the test only works in Turkish locales. I skip the test if datlocprovider=3D'i', because citext doesn't seem very important in an ICU world. * unaccent is broken if the database provider is ICU and LC_CTYPE=3DC, because the t_isspace() (etc.) functions do not properly handle ICU. Probably some other things are broken with that combination, but only this test seems to exercise it. I just skipped the test for that broken combination, but perhaps it should be fixed in the future. * initdb was being built with ICU as a dependency in meson, but not autoconf. I assume it's fine to link ICU into initdb, so I changed the Makefile. * I changed a couple tests to initialize with --locale-provider=3Dlibc. They were testing that creating a database with the ICU provider but no ICU locale fails, and that's easiest to test if the template is libc. * The CI test CompilerWarnings:mingw_cross_warning was failing because ICU is not available. I added --without-icu in the .cirrus.yml file and it works. --=20 Jeff Davis PostgreSQL Contributor Team - AWS --=-/Q/EedosBfZlXnkRwwt7 Content-Disposition: attachment; filename="v2-0001-Build-ICU-support-by-default.patch" Content-Type: text/x-patch; name="v2-0001-Build-ICU-support-by-default.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBiMTc3MmIxMmJlM2M0N2EwMGEzNzIzZDI5Mzc0MjFjYjViYmZlM2EzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBG cmksIDEwIEZlYiAyMDIzIDEyOjA4OjExIC0wODAwClN1YmplY3Q6IFtQQVRDSCB2MiAxLzJdIEJ1 aWxkIElDVSBzdXBwb3J0IGJ5IGRlZmF1bHQuCgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5l cy9tLzUxMGQyODQ3NTlmNmU5NDNjZTE1MDk2MTY3NzYwYjJlZGNiMmU3MDAuY2FtZWxAai1kYXZp cy5jb20KLS0tCiAuY2lycnVzLnltbCAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBjb25maWd1 cmUgICAgICAgICAgICAgICAgICAgICAgfCA0NiArKysrKysrKy0tLS0tLS0tLS0tLQogY29uZmln dXJlLmFjICAgICAgICAgICAgICAgICAgIHwgIDggKysrLQogZG9jL3NyYy9zZ21sL2luc3RhbGxh dGlvbi5zZ21sIHwgNzggKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogbWVzb24u YnVpbGQgICAgICAgICAgICAgICAgICAgIHwgMTIgKysrKystCiBtZXNvbl9vcHRpb25zLnR4dCAg ICAgICAgICAgICAgfCAgMiArLQogNiBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCA2 OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS8uY2lycnVzLnltbCBiLy5jaXJydXMueW1sCmlu ZGV4IDZiOTg5ODAwNzUuLjI0MzAyZWZlYTYgMTAwNjQ0Ci0tLSBhLy5jaXJydXMueW1sCisrKyBi Ly5jaXJydXMueW1sCkBAIC03NzUsNiArNzc1LDcgQEAgdGFzazoKICAgICAgIHRpbWUgLi9jb25m aWd1cmUgXAogICAgICAgICAtLWhvc3Q9eDg2XzY0LXc2NC1taW5ndzMyIFwKICAgICAgICAgLS1l bmFibGUtY2Fzc2VydCBcCisgICAgICAgIC0td2l0aG91dC1pY3UgXAogICAgICAgICBDQz0iY2Nh Y2hlIHg4Nl82NC13NjQtbWluZ3czMi1nY2MiIFwKICAgICAgICAgQ1hYPSJjY2FjaGUgeDg2XzY0 LXc2NC1taW5ndzMyLWcrKyIKICAgICAgIG1ha2UgLXMgLWoke0JVSUxEX0pPQlN9IGNsZWFuCmRp ZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggNWQwN2ZkMGJiOS4uZGRiNzVm N2Y0YiAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtMTU1OCw3ICsx NTU4LDcgQEAgT3B0aW9uYWwgUGFja2FnZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl dCBXQUwgYmxvY2sgc2l6ZSBpbiBrQiBbOF0KICAgLS13aXRoLUNDPUNNRCAgICAgICAgICAgc2V0 IGNvbXBpbGVyIChkZXByZWNhdGVkKQogICAtLXdpdGgtbGx2bSAgICAgICAgICAgICBidWlsZCB3 aXRoIExMVk0gYmFzZWQgSklUIHN1cHBvcnQKLSAgLS13aXRoLWljdSAgICAgICAgICAgICAgYnVp bGQgd2l0aCBJQ1Ugc3VwcG9ydAorICAtLXdpdGhvdXQtaWN1ICAgICAgICAgICBidWlsZCB3aXRo b3V0IElDVSBzdXBwb3J0CiAgIC0td2l0aC10Y2wgICAgICAgICAgICAgIGJ1aWxkIFRjbCBtb2R1 bGVzIChQTC9UY2wpCiAgIC0td2l0aC10Y2xjb25maWc9RElSICAgIHRjbENvbmZpZy5zaCBpcyBp biBESVIKICAgLS13aXRoLXBlcmwgICAgICAgICAgICAgYnVpbGQgUGVybCBtb2R1bGVzIChQTC9Q ZXJsKQpAQCAtODQwMSw3ICs4NDAxLDkgQEAgJGFzX2VjaG8gIiNkZWZpbmUgVVNFX0lDVSAxIiA+ PmNvbmZkZWZzLmgKICAgZXNhYwogCiBlbHNlCi0gIHdpdGhfaWN1PW5vCisgIHdpdGhfaWN1PXll cworCiskYXNfZWNobyAiI2RlZmluZSBVU0VfSUNVIDEiID4+Y29uZmRlZnMuaAogCiBmaQogCkBA IC04NDcwLDMxICs4NDcyLDE3IEBAIGZpCiAJIyBQdXQgdGhlIG5hc3R5IGVycm9yIG1lc3NhZ2Ug aW4gY29uZmlnLmxvZyB3aGVyZSBpdCBiZWxvbmdzCiAJZWNobyAiJElDVV9QS0dfRVJST1JTIiA+ JjUKIAotCWFzX2ZuX2Vycm9yICQ/ICJQYWNrYWdlIHJlcXVpcmVtZW50cyAoaWN1LXVjIGljdS1p MThuKSB3ZXJlIG5vdCBtZXQ6Ci0KLSRJQ1VfUEtHX0VSUk9SUwotCi1Db25zaWRlciBhZGp1c3Rp bmcgdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpZiB5b3UKLWluc3Rh bGxlZCBzb2Z0d2FyZSBpbiBhIG5vbi1zdGFuZGFyZCBwcmVmaXguCi0KLUFsdGVybmF0aXZlbHks IHlvdSBtYXkgc2V0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgSUNVX0NGTEFHUwotYW5kIElD VV9MSUJTIHRvIGF2b2lkIHRoZSBuZWVkIHRvIGNhbGwgcGtnLWNvbmZpZy4KLVNlZSB0aGUgcGtn LWNvbmZpZyBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLiIgIiRMSU5FTk8iIDUKKwlhc19mbl9l cnJvciAkPyAiSUNVIGxpYnJhcnkgbm90IGZvdW5kCitJZiB5b3UgaGF2ZSBJQ1UgYWxyZWFkeSBp bnN0YWxsZWQsIHNlZSBjb25maWcubG9nIGZvciBkZXRhaWxzIG9uIHRoZQorZmFpbHVyZS4gIEl0 IGlzIHBvc3NpYmxlIHRoZSBjb21waWxlciBpc24ndCBsb29raW5nIGluIHRoZSBwcm9wZXIgZGly ZWN0b3J5LgorVXNlIC0td2l0aG91dC1pY3UgdG8gZGlzYWJsZSBJQ1Ugc3VwcG9ydC4iICIkTElO RU5PIiA1CiBlbGlmIHRlc3QgJHBrZ19mYWlsZWQgPSB1bnRyaWVkOyB0aGVuCiAgICAgICAgIHsg JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiAk YXNfZWNobyAibm8iID4mNjsgfQotCXsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM SU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQotJGFzX2VjaG8gIiRhc19tZTogZXJy b3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQotYXNfZm5fZXJyb3IgJD8gIlRoZSBwa2ctY29uZmln IHNjcmlwdCBjb3VsZCBub3QgYmUgZm91bmQgb3IgaXMgdG9vIG9sZC4gIE1ha2Ugc3VyZSBpdAot aXMgaW4geW91ciBQQVRIIG9yIHNldCB0aGUgUEtHX0NPTkZJRyBlbnZpcm9ubWVudCB2YXJpYWJs ZSB0byB0aGUgZnVsbAotcGF0aCB0byBwa2ctY29uZmlnLgotCi1BbHRlcm5hdGl2ZWx5LCB5b3Ug bWF5IHNldCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIElDVV9DRkxBR1MKLWFuZCBJQ1VfTElC UyB0byBhdm9pZCB0aGUgbmVlZCB0byBjYWxsIHBrZy1jb25maWcuCi1TZWUgdGhlIHBrZy1jb25m aWcgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy4KLQotVG8gZ2V0IHBrZy1jb25maWcsIHNlZSA8 aHR0cDovL3BrZy1jb25maWcuZnJlZWRlc2t0b3Aub3JnLz4uCi1TZWUgXGBjb25maWcubG9nJyBm b3IgbW9yZSBkZXRhaWxzIiAiJExJTkVOTyIgNTsgfQorCWFzX2ZuX2Vycm9yICQ/ICJJQ1UgbGli cmFyeSBub3QgZm91bmQKK0lmIHlvdSBoYXZlIElDVSBhbHJlYWR5IGluc3RhbGxlZCwgc2VlIGNv bmZpZy5sb2cgZm9yIGRldGFpbHMgb24gdGhlCitmYWlsdXJlLiAgSXQgaXMgcG9zc2libGUgdGhl IGNvbXBpbGVyIGlzbid0IGxvb2tpbmcgaW4gdGhlIHByb3BlciBkaXJlY3RvcnkuCitVc2UgLS13 aXRob3V0LWljdSB0byBkaXNhYmxlIElDVSBzdXBwb3J0LiIgIiRMSU5FTk8iIDUKIGVsc2UKIAlJ Q1VfQ0ZMQUdTPSRwa2dfY3ZfSUNVX0NGTEFHUwogCUlDVV9MSUJTPSRwa2dfY3ZfSUNVX0xJQlMK QEAgLTE1MzIzLDcgKzE1MzExLDcgQEAgZWxzZQogICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUg TEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKICAgICBzaW5jZSBzb21lIEMr KyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCiAgICAgaW5jb3JyZWN0bHkg cmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLwotI2RlZmluZSBMQVJHRV9PRkZfVCAoKChv ZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisjZGVmaW5lIExBUkdFX09G Rl9UICgoKChvZmZfdCkgMSA8PCAzMSkgPDwgMzEpIC0gMSArICgoKG9mZl90KSAxIDw8IDMxKSA8 PCAzMSkpCiAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09 IDcyMQogCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCiAJCSAgICAg ID8gMSA6IC0xXTsKQEAgLTE1MzY5LDcgKzE1MzU3LDcgQEAgZWxzZQogICAgIFdlIGNhbid0IHNp bXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKICAgICBz aW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFzIEMgY29tcGlsZXJzCiAgICAg aW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLwotI2RlZmluZSBMQVJH RV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCisjZGVm aW5lIExBUkdFX09GRl9UICgoKChvZmZfdCkgMSA8PCAzMSkgPDwgMzEpIC0gMSArICgoKG9mZl90 KSAxIDw8IDMxKSA8PCAzMSkpCiAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAy MTQ3NDgzNjI5ID09IDcyMQogCQkgICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09 IDEpCiAJCSAgICAgID8gMSA6IC0xXTsKQEAgLTE1MzkzLDcgKzE1MzgxLDcgQEAgcm0gLWYgY29y ZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CiAgICAg V2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2ODU0Nzc1 ODA3LAogICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21w aWxlcnMKICAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCi0j ZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAoKG9mZl90KSAxIDw8 IDYyKSkKKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgoKG9mZl90KSAxIDw8IDMxKSA8PCAzMSkgLSAx ICsgKCgob2ZmX3QpIDEgPDwgMzEpIDw8IDMxKSkKICAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJH RV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCiAJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIx NDc0ODM2NDcgPT0gMSkKIAkJICAgICAgPyAxIDogLTFdOwpAQCAtMTU0MzgsNyArMTU0MjYsNyBA QCBlbHNlCiAgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIz MzcyMDM2ODU0Nzc1ODA3LAogICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRp bmcgYXMgQyBjb21waWxlcnMKICAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3 NTgwNy4gICovCi0jZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAo KG9mZl90KSAxIDw8IDYyKSkKKyNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgoKG9mZl90KSAxIDw8IDMx KSA8PCAzMSkgLSAxICsgKCgob2ZmX3QpIDEgPDwgMzEpIDw8IDMxKSkKICAgaW50IG9mZl90X2lz X2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCiAJCSAgICAgICAmJiBMQVJH RV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKIAkJICAgICAgPyAxIDogLTFdOwpAQCAtMTU0NjIs NyArMTU0NTAsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0 IGNvbmZ0ZXN0LiRhY19leHQKICAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX09GRl9U IHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCiAgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJz IG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycwogICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIz MzcyMDM2ODU0Nzc1ODA3LiAgKi8KLSNkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwg NjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQorI2RlZmluZSBMQVJHRV9PRkZfVCAoKCgob2Zm X3QpIDEgPDwgMzEpIDw8IDMxKSAtIDEgKyAoKChvZmZfdCkgMSA8PCAzMSkgPDwgMzEpKQogICBp bnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKIAkJICAg ICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQogCQkgICAgICA/IDEgOiAtMV07 CmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggZTliNzRjZWQ2 Yy4uOTA5ZjVkYmEzYyAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5h YwpAQCAtODUzLDEzICs4NTMsMTcgQEAgQUNfU1VCU1QoZW5hYmxlX3RocmVhZF9zYWZldHkpCiAj IElDVQogIwogQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGJ1aWxkIHdpdGggSUNVIHN1cHBv cnRdKQotUEdBQ19BUkdfQk9PTCh3aXRoLCBpY3UsIG5vLCBbYnVpbGQgd2l0aCBJQ1Ugc3VwcG9y dF0sCitQR0FDX0FSR19CT09MKHdpdGgsIGljdSwgeWVzLCBbYnVpbGQgd2l0aG91dCBJQ1Ugc3Vw cG9ydF0sCiAgICAgICAgICAgICAgIFtBQ19ERUZJTkUoW1VTRV9JQ1VdLCAxLCBbRGVmaW5lIHRv IGJ1aWxkIHdpdGggSUNVIHN1cHBvcnQuICgtLXdpdGgtaWN1KV0pXSkKIEFDX01TR19SRVNVTFQo WyR3aXRoX2ljdV0pCiBBQ19TVUJTVCh3aXRoX2ljdSkKIAogaWYgdGVzdCAiJHdpdGhfaWN1IiA9 IHllczsgdGhlbgotICBQS0dfQ0hFQ0tfTU9EVUxFUyhJQ1UsIGljdS11YyBpY3UtaTE4bikKKyAg UEtHX0NIRUNLX01PRFVMRVMoSUNVLCBpY3UtdWMgaWN1LWkxOG4sIFtdLAorICAgIFtBQ19NU0df RVJST1IoW0lDVSBsaWJyYXJ5IG5vdCBmb3VuZAorSWYgeW91IGhhdmUgSUNVIGFscmVhZHkgaW5z dGFsbGVkLCBzZWUgY29uZmlnLmxvZyBmb3IgZGV0YWlscyBvbiB0aGUKK2ZhaWx1cmUuICBJdCBp cyBwb3NzaWJsZSB0aGUgY29tcGlsZXIgaXNuJ3QgbG9va2luZyBpbiB0aGUgcHJvcGVyIGRpcmVj dG9yeS4KK1VzZSAtLXdpdGhvdXQtaWN1IHRvIGRpc2FibGUgSUNVIHN1cHBvcnQuXSldKQogZmkK IAogIwpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2luc3RhbGxhdGlvbi5zZ21sIGIvZG9jL3Ny Yy9zZ21sL2luc3RhbGxhdGlvbi5zZ21sCmluZGV4IDY2MTllNjk0NjIuLmI1Zjg4ZDI3ZGYgMTAw NjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9pbnN0YWxsYXRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3Nn bWwvaW5zdGFsbGF0aW9uLnNnbWwKQEAgLTE0Niw2ICsxNDYsMzUgQEAgZG9jdW1lbnRhdGlvbi4g IFNlZSBzdGFuZGFsb25lLXByb2ZpbGUueHNsIGZvciBkZXRhaWxzLgogICAgICAgPGFwcGxpY2F0 aW9uPnBnX3Jlc3RvcmU8L2FwcGxpY2F0aW9uPi4KICAgICAgPC9wYXJhPgogICAgIDwvbGlzdGl0 ZW0+CisKKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIElDVSBsb2NhbGUg cHJvdmlkZXIgKHNlZSA8eHJlZiBsaW5rZW5kPSJsb2NhbGUtcHJvdmlkZXJzIi8+KSBpcyB1c2Vk IGJ5IGRlZmF1bHQuIElmIHlvdSBkb24ndCB3YW50IHRvIHVzZSBpdCB0aGVuIHlvdSBtdXN0IHNw ZWNpZnkgdGhlIDxvcHRpb24+LS13aXRob3V0LWljdTwvb3B0aW9uPiBvcHRpb24gdG8gPGZpbGVu YW1lPmNvbmZpZ3VyZTwvZmlsZW5hbWU+LiBVc2luZyB0aGlzIG9wdGlvbiBkaXNhYmxlcyBzdXBw b3J0IGZvciBJQ1UgY29sbGF0aW9uIGZlYXR1cmVzIChzZWUgPHhyZWYgbGlua2VuZD0iY29sbGF0 aW9uIi8+KS4KKyAgICAgPC9wYXJhPgorICAgICA8cGFyYT4KKyAgICAgIElDVSBzdXBwb3J0IHJl cXVpcmVzIHRoZSA8cHJvZHVjdG5hbWU+SUNVNEM8L3Byb2R1Y3RuYW1lPiBwYWNrYWdlIHRvIGJl CisgICAgICBpbnN0YWxsZWQuICBUaGUgbWluaW11bSByZXF1aXJlZCB2ZXJzaW9uIG9mCisgICAg ICA8cHJvZHVjdG5hbWU+SUNVNEM8L3Byb2R1Y3RuYW1lPiBpcyBjdXJyZW50bHkgNC4yLgorICAg ICA8L3BhcmE+CisKKyAgICAgPHBhcmE+CisgICAgICBCeSBkZWZhdWx0LAorICAgICAgPHByb2R1 Y3RuYW1lPnBrZy1jb25maWc8L3Byb2R1Y3RuYW1lPjxpbmRleHRlcm0+PHByaW1hcnk+cGtnLWNv bmZpZzwvcHJpbWFyeT48L2luZGV4dGVybT4KKyAgICAgIHdpbGwgYmUgdXNlZCB0byBmaW5kIHRo ZSByZXF1aXJlZCBjb21waWxhdGlvbiBvcHRpb25zLiAgVGhpcyBpcworICAgICAgc3VwcG9ydGVk IGZvciA8cHJvZHVjdG5hbWU+SUNVNEM8L3Byb2R1Y3RuYW1lPiB2ZXJzaW9uIDQuNiBhbmQgbGF0 ZXIuCisgICAgICBGb3Igb2xkZXIgdmVyc2lvbnMsIG9yIGlmIDxwcm9kdWN0bmFtZT5wa2ctY29u ZmlnPC9wcm9kdWN0bmFtZT4gaXMgbm90CisgICAgICBhdmFpbGFibGUsIHRoZSB2YXJpYWJsZXMg PGVudmFyPklDVV9DRkxBR1M8L2VudmFyPiBhbmQKKyAgICAgIDxlbnZhcj5JQ1VfTElCUzwvZW52 YXI+IGNhbiBiZSBzcGVjaWZpZWQgdG8KKyAgICAgIDxmaWxlbmFtZT5jb25maWd1cmU8L2ZpbGVu YW1lPiwgbGlrZSBpbiB0aGlzIGV4YW1wbGU6Cis8cHJvZ3JhbWxpc3Rpbmc+CisuL2NvbmZpZ3Vy ZSAuLi4gSUNVX0NGTEFHUz0nLUkvc29tZS93aGVyZS9pbmNsdWRlJyBJQ1VfTElCUz0nLUwvc29t ZS93aGVyZS9saWIgLWxpY3VpMThuIC1saWN1dWMgLWxpY3VkYXRhJworPC9wcm9ncmFtbGlzdGlu Zz4KKyAgICAgIChJZiA8cHJvZHVjdG5hbWU+SUNVNEM8L3Byb2R1Y3RuYW1lPiBpcyBpbiB0aGUg ZGVmYXVsdCBzZWFyY2ggcGF0aAorICAgICAgZm9yIHRoZSBjb21waWxlciwgdGhlbiB5b3Ugc3Rp bGwgbmVlZCB0byBzcGVjaWZ5IG5vbmVtcHR5IHN0cmluZ3MgaW4KKyAgICAgIG9yZGVyIHRvIGF2 b2lkIHVzZSBvZiA8cHJvZHVjdG5hbWU+cGtnLWNvbmZpZzwvcHJvZHVjdG5hbWU+LCBmb3IKKyAg ICAgIGV4YW1wbGUsIDxsaXRlcmFsPklDVV9DRkxBR1M9JyAnPC9saXRlcmFsPi4pCisgICAgIDwv cGFyYT4KKyAgICA8L2xpc3RpdGVtPgogICAgPC9pdGVtaXplZGxpc3Q+CiAgIDwvcGFyYT4KIApA QCAtOTI2LDQwICs5NTUsNiBAQCBidWlsZC1wb3N0Z3Jlc3FsOgogICAgICAgIDwvbGlzdGl0ZW0+ CiAgICAgICA8L3Zhcmxpc3RlbnRyeT4KIAotICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iY29uZmln dXJlLW9wdGlvbi13aXRoLWljdSI+Ci0gICAgICAgPHRlcm0+PG9wdGlvbj4tLXdpdGgtaWN1PC9v cHRpb24+PC90ZXJtPgotICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBhcmE+Ci0gICAgICAg ICBCdWlsZCB3aXRoIHN1cHBvcnQgZm9yCi0gICAgICAgICB0aGUgPHByb2R1Y3RuYW1lPklDVTwv cHJvZHVjdG5hbWU+PGluZGV4dGVybT48cHJpbWFyeT5JQ1U8L3ByaW1hcnk+PC9pbmRleHRlcm0+ Ci0gICAgICAgICBsaWJyYXJ5LCBlbmFibGluZyB1c2Ugb2YgSUNVIGNvbGxhdGlvbgotICAgICAg ICAgZmVhdHVyZXM8cGhyYXNlIGNvbmRpdGlvbj0ic3RhbmRhbG9uZS1pZ25vcmUiPiAoc2VlCi0g ICAgICAgICA8eHJlZiBsaW5rZW5kPSJjb2xsYXRpb24iLz4pPC9waHJhc2U+LgotICAgICAgICAg VGhpcyByZXF1aXJlcyB0aGUgPHByb2R1Y3RuYW1lPklDVTRDPC9wcm9kdWN0bmFtZT4gcGFja2Fn ZQotICAgICAgICAgdG8gYmUgaW5zdGFsbGVkLiAgVGhlIG1pbmltdW0gcmVxdWlyZWQgdmVyc2lv bgotICAgICAgICAgb2YgPHByb2R1Y3RuYW1lPklDVTRDPC9wcm9kdWN0bmFtZT4gaXMgY3VycmVu dGx5IDQuMi4KLSAgICAgICAgPC9wYXJhPgotCi0gICAgICAgIDxwYXJhPgotICAgICAgICAgQnkg ZGVmYXVsdCwKLSAgICAgICAgIDxwcm9kdWN0bmFtZT5wa2ctY29uZmlnPC9wcm9kdWN0bmFtZT48 aW5kZXh0ZXJtPjxwcmltYXJ5PnBrZy1jb25maWc8L3ByaW1hcnk+PC9pbmRleHRlcm0+Ci0gICAg ICAgICB3aWxsIGJlIHVzZWQgdG8gZmluZCB0aGUgcmVxdWlyZWQgY29tcGlsYXRpb24gb3B0aW9u cy4gIFRoaXMgaXMKLSAgICAgICAgIHN1cHBvcnRlZCBmb3IgPHByb2R1Y3RuYW1lPklDVTRDPC9w cm9kdWN0bmFtZT4gdmVyc2lvbiA0LjYgYW5kIGxhdGVyLgotICAgICAgICAgRm9yIG9sZGVyIHZl cnNpb25zLCBvciBpZiA8cHJvZHVjdG5hbWU+cGtnLWNvbmZpZzwvcHJvZHVjdG5hbWU+IGlzCi0g ICAgICAgICBub3QgYXZhaWxhYmxlLCB0aGUgdmFyaWFibGVzIDxlbnZhcj5JQ1VfQ0ZMQUdTPC9l bnZhcj4KLSAgICAgICAgIGFuZCA8ZW52YXI+SUNVX0xJQlM8L2VudmFyPiBjYW4gYmUgc3BlY2lm aWVkCi0gICAgICAgICB0byA8ZmlsZW5hbWU+Y29uZmlndXJlPC9maWxlbmFtZT4sIGxpa2UgaW4g dGhpcyBleGFtcGxlOgotPHByb2dyYW1saXN0aW5nPgotLi9jb25maWd1cmUgLi4uIC0td2l0aC1p Y3UgSUNVX0NGTEFHUz0nLUkvc29tZS93aGVyZS9pbmNsdWRlJyBJQ1VfTElCUz0nLUwvc29tZS93 aGVyZS9saWIgLWxpY3VpMThuIC1saWN1dWMgLWxpY3VkYXRhJwotPC9wcm9ncmFtbGlzdGluZz4K LSAgICAgICAgIChJZiA8cHJvZHVjdG5hbWU+SUNVNEM8L3Byb2R1Y3RuYW1lPiBpcyBpbiB0aGUg ZGVmYXVsdCBzZWFyY2ggcGF0aAotICAgICAgICAgZm9yIHRoZSBjb21waWxlciwgdGhlbiB5b3Ug c3RpbGwgbmVlZCB0byBzcGVjaWZ5IG5vbmVtcHR5IHN0cmluZ3MgaW4KLSAgICAgICAgIG9yZGVy IHRvIGF2b2lkIHVzZSBvZiA8cHJvZHVjdG5hbWU+cGtnLWNvbmZpZzwvcHJvZHVjdG5hbWU+LCBm b3IKLSAgICAgICAgIGV4YW1wbGUsIDxsaXRlcmFsPklDVV9DRkxBR1M9JyAnPC9saXRlcmFsPi4p Ci0gICAgICAgIDwvcGFyYT4KLSAgICAgICA8L2xpc3RpdGVtPgotICAgICAgPC92YXJsaXN0ZW50 cnk+Ci0KICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImNvbmZpZ3VyZS13aXRoLWxsdm0iPgogICAg ICAgIDx0ZXJtPjxvcHRpb24+LS13aXRoLWxsdm08L29wdGlvbj48L3Rlcm0+CiAgICAgICAgPGxp c3RpdGVtPgpAQCAtMTIzMSw2ICsxMjI2LDE5IEBAIGJ1aWxkLXBvc3RncmVzcWw6CiAKICAgICAg PHZhcmlhYmxlbGlzdD4KIAorICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iY29uZmlndXJlLW9wdGlv bi13aXRob3V0LWljdSI+CisgICAgICAgPHRlcm0+PG9wdGlvbj4tLXdpdGhvdXQtaWN1PC9vcHRp b24+PC90ZXJtPgorICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICBC dWlsZCB3aXRob3V0IHN1cHBvcnQgZm9yIHRoZQorICAgICAgICAgPHByb2R1Y3RuYW1lPklDVTwv cHJvZHVjdG5hbWU+PGluZGV4dGVybT48cHJpbWFyeT5JQ1U8L3ByaW1hcnk+PC9pbmRleHRlcm0+ CisgICAgICAgICBsaWJyYXJ5LCBkaXNhYmxpbmcgdGhlIHVzZSBvZiBJQ1UgY29sbGF0aW9uIGZl YXR1cmVzPHBocmFzZQorICAgICAgICAgY29uZGl0aW9uPSJzdGFuZGFsb25lLWlnbm9yZSI+IChz ZWUgPHhyZWYKKyAgICAgICAgIGxpbmtlbmQ9ImNvbGxhdGlvbiIvPik8L3BocmFzZT4uCisgICAg ICAgIDwvcGFyYT4KKyAgICAgICA8L2xpc3RpdGVtPgorICAgICAgPC92YXJsaXN0ZW50cnk+CisK ICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImNvbmZpZ3VyZS1vcHRpb24td2l0aG91dC1yZWFkbGlu ZSI+CiAgICAgICAgPHRlcm0+PG9wdGlvbj4tLXdpdGhvdXQtcmVhZGxpbmU8L29wdGlvbj48L3Rl cm0+CiAgICAgICAgPGxpc3RpdGVtPgpAQCAtMjQxOSw3ICsyNDI3LDcgQEAgbmluamEgaW5zdGFs bAogICAgICAgICA8cHJvZHVjdG5hbWU+SUNVPC9wcm9kdWN0bmFtZT48aW5kZXh0ZXJtPjxwcmlt YXJ5PklDVTwvcHJpbWFyeT48L2luZGV4dGVybT4KICAgICAgICAgbGlicmFyeSwgZW5hYmxpbmcg dXNlIG9mIElDVSBjb2xsYXRpb24gZmVhdHVyZXM8cGhyYXNlCiAgICAgICAgIGNvbmRpdGlvbj0i c3RhbmRhbG9uZS1pZ25vcmUiPiAoc2VlIDx4cmVmCi0gICAgICAgIGxpbmtlbmQ9ImNvbGxhdGlv biIvPik8L3BocmFzZT4uICBEZWZhdWx0cyB0byBhdXRvIGFuZCByZXF1aXJlcyB0aGUKKyAgICAg ICAgbGlua2VuZD0iY29sbGF0aW9uIi8+KTwvcGhyYXNlPi4gIERlZmF1bHRzIHRvIGVuYWJsZWQg YW5kIHJlcXVpcmVzIHRoZQogICAgICAgICA8cHJvZHVjdG5hbWU+SUNVNEM8L3Byb2R1Y3RuYW1l PiBwYWNrYWdlIHRvIGJlIGluc3RhbGxlZC4gIFRoZSBtaW5pbXVtCiAgICAgICAgIHJlcXVpcmVk IHZlcnNpb24gb2YgPHByb2R1Y3RuYW1lPklDVTRDPC9wcm9kdWN0bmFtZT4gaXMgY3VycmVudGx5 IDQuMi4KICAgICAgICA8L3BhcmE+CmRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1 aWxkCmluZGV4IGUzNzlhMjUyYTUuLjljZDc0OTFmZGEgMTAwNjQ0Ci0tLSBhL21lc29uLmJ1aWxk CisrKyBiL21lc29uLmJ1aWxkCkBAIC03MjEsOCArNzIxLDE2IEBAIGVuZGlmCiAKIGljdW9wdCA9 IGdldF9vcHRpb24oJ2ljdScpCiBpZiBub3QgaWN1b3B0LmRpc2FibGVkKCkKLSAgaWN1ID0gZGVw ZW5kZW5jeSgnaWN1LXVjJywgcmVxdWlyZWQ6IGljdW9wdC5lbmFibGVkKCkpCi0gIGljdV9pMThu ID0gZGVwZW5kZW5jeSgnaWN1LWkxOG4nLCByZXF1aXJlZDogaWN1b3B0LmVuYWJsZWQoKSkKKyAg aWN1ID0gZGVwZW5kZW5jeSgnaWN1LXVjJywgcmVxdWlyZWQ6IGZhbHNlKQorICBpY3VfaTE4biA9 IGRlcGVuZGVuY3koJ2ljdS1pMThuJywgcmVxdWlyZWQ6IGZhbHNlKQorCisgIGljdV9mb3VuZCA9 IGljdS5mb3VuZCgpIGFuZCBpY3VfaTE4bi5mb3VuZCgpCisgIGlmIGljdW9wdC5lbmFibGVkKCkg YW5kIG5vdCBpY3VfZm91bmQKKyAgICAgZXJyb3IoJycnSUNVIGxpYnJhcnkgbm90IGZvdW5kCitJ ZiB5b3UgaGF2ZSBJQ1UgYWxyZWFkeSBpbnN0YWxsZWQsIHNlZSBtZXNvbi1sb2cvbWVzb24tbG9n LnR4dCBmb3IgZGV0YWlscyBvbiB0aGUKK2ZhaWx1cmUuIEl0IGlzIHBvc3NpYmxlIHRoZSBjb21w aWxlciBpc24ndCBsb29raW5nIGluIHRoZSBwcm9wZXIgZGlyZWN0b3J5LgorVXNlIC1EaWN1PWRp c2FibGVkIHRvIGRpc2FibGUgSUNVIHN1cHBvcnQuJycnKQorICBlbmRpZgogCiAgIGlmIGljdS5m b3VuZCgpCiAgICAgY2RhdGEuc2V0KCdVU0VfSUNVJywgMSkKZGlmZiAtLWdpdCBhL21lc29uX29w dGlvbnMudHh0IGIvbWVzb25fb3B0aW9ucy50eHQKaW5kZXggOWQzZWY0YWEyMC4uZmJkNGU2OTM1 NiAxMDA2NDQKLS0tIGEvbWVzb25fb3B0aW9ucy50eHQKKysrIGIvbWVzb25fb3B0aW9ucy50eHQK QEAgLTgyLDcgKzgyLDcgQEAgb3B0aW9uKCdkdHJhY2UnLCB0eXBlIDogJ2ZlYXR1cmUnLCB2YWx1 ZTogJ2Rpc2FibGVkJywKIG9wdGlvbignZ3NzYXBpJywgdHlwZSA6ICdmZWF0dXJlJywgdmFsdWU6 ICdhdXRvJywKICAgZGVzY3JpcHRpb246ICdHU1NBUEkgc3VwcG9ydCcpCiAKLW9wdGlvbignaWN1 JywgdHlwZSA6ICdmZWF0dXJlJywgdmFsdWU6ICdhdXRvJywKK29wdGlvbignaWN1JywgdHlwZSA6 ICdmZWF0dXJlJywgdmFsdWU6ICdlbmFibGVkJywKICAgZGVzY3JpcHRpb246ICdJQ1Ugc3VwcG9y dCcpCiAKIG9wdGlvbignbGRhcCcsIHR5cGUgOiAnZmVhdHVyZScsIHZhbHVlOiAnYXV0bycsCi0t IAoyLjM0LjEKCg== --=-/Q/EedosBfZlXnkRwwt7 Content-Disposition: attachment; filename="v2-0002-Use-ICU-by-default-at-initdb-time.patch" Content-Type: text/x-patch; name="v2-0002-Use-ICU-by-default-at-initdb-time.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA2NGFkM2EzYjBjOGJjZGY5NWRmOTBhOWRiMDVlZGIyNTVhM2YxOGMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBX ZWQsIDggRmViIDIwMjMgMTI6MDY6MjYgLTA4MDAKU3ViamVjdDogW1BBVENIIHYyIDIvMl0gVXNl IElDVSBieSBkZWZhdWx0IGF0IGluaXRkYiB0aW1lLgoKSWYgdGhlIElDVSBsb2NhbGUgaXMgbm90 IHNwZWNpZmllZCwgaW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBjb2xsYXRvcgphbmQgcmV0cmlldmUg dGhlIGxvY2FsZSBuYW1lIGZyb20gdGhhdC4KCkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVz L20vNTEwZDI4NDc1OWY2ZTk0M2NlMTUwOTYxNjc3NjBiMmVkY2IyZTcwMC5jYW1lbEBqLWRhdmlz LmNvbQotLS0KIGNvbnRyaWIvY2l0ZXh0L2V4cGVjdGVkL2NpdGV4dF91dGY4Lm91dCAgICAgICB8 ICA0ICstCiBjb250cmliL2NpdGV4dC9leHBlY3RlZC9jaXRleHRfdXRmOF8xLm91dCAgICAgfCAg NCArLQogY29udHJpYi9jaXRleHQvc3FsL2NpdGV4dF91dGY4LnNxbCAgICAgICAgICAgIHwgIDQg Ky0KIGNvbnRyaWIvdW5hY2NlbnQvZXhwZWN0ZWQvdW5hY2NlbnQub3V0ICAgICAgICB8ICA5ICsr KwogY29udHJpYi91bmFjY2VudC9leHBlY3RlZC91bmFjY2VudF8xLm91dCAgICAgIHwgIDggKysK IGNvbnRyaWIvdW5hY2NlbnQvc3FsL3VuYWNjZW50LnNxbCAgICAgICAgICAgICB8IDExICsrKwog ZG9jL3NyYy9zZ21sL3JlZi9pbml0ZGIuc2dtbCAgICAgICAgICAgICAgICAgIHwgNDggKysrKysr Ky0tLS0tCiBzcmMvYmluL2luaXRkYi9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgfCAg NCArLQogc3JjL2Jpbi9pbml0ZGIvaW5pdGRiLmMgICAgICAgICAgICAgICAgICAgICAgIHwgNzYg KysrKysrKysrKysrKysrKysrLQogc3JjL2Jpbi9pbml0ZGIvdC8wMDFfaW5pdGRiLnBsICAgICAg ICAgICAgICAgIHwgIDcgKy0KIHNyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsICAgICAg ICAgICAgICB8ICAyICstCiBzcmMvYmluL3NjcmlwdHMvdC8wMjBfY3JlYXRlZGIucGwgICAgICAg ICAgICAgfCAgMiArLQogc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L01ha2VmaWxlICAgICAgICAg ICAgIHwgIDMgLQogc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2Nvbm5lY3QvdGVzdDUucGdjICAg IHwgIDIgKy0KIC4uLi9lY3BnL3Rlc3QvZXhwZWN0ZWQvY29ubmVjdC10ZXN0NS5jICAgICAgICB8 ICAyICstCiAuLi4vZWNwZy90ZXN0L2V4cGVjdGVkL2Nvbm5lY3QtdGVzdDUuc3RkZXJyICAgfCAg MiArLQogc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L21lc29uLmJ1aWxkICAgICAgICAgIHwgIDEg LQogc3JjL3Rlc3QvaWN1L3QvMDEwX2RhdGFiYXNlLnBsICAgICAgICAgICAgICAgIHwgIDIgKy0K IDE4IGZpbGVzIGNoYW5nZWQsIDE0OSBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBjb250cmliL3VuYWNjZW50L2V4cGVjdGVkL3VuYWNjZW50XzEub3V0 CgpkaWZmIC0tZ2l0IGEvY29udHJpYi9jaXRleHQvZXhwZWN0ZWQvY2l0ZXh0X3V0Zjgub3V0IGIv Y29udHJpYi9jaXRleHQvZXhwZWN0ZWQvY2l0ZXh0X3V0Zjgub3V0CmluZGV4IDY2NmIwN2NjZWMu Ljg1Y2U5YzNiNjQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY2l0ZXh0L2V4cGVjdGVkL2NpdGV4dF91 dGY4Lm91dAorKysgYi9jb250cmliL2NpdGV4dC9leHBlY3RlZC9jaXRleHRfdXRmOC5vdXQKQEAg LTMsNyArMyw5IEBACiAgKiBhbmQgYSBVbmljb2RlLWF3YXJlIGxvY2FsZS4KICAqLwogU0VMRUNU IGdldGRhdGFiYXNlZW5jb2RpbmcoKSA8PiAnVVRGOCcgT1IKLSAgICAgICBjdXJyZW50X3NldHRp bmcoJ2xjX2N0eXBlJykgPSAnQycKKyAgICAgICBjdXJyZW50X3NldHRpbmcoJ2xjX2N0eXBlJykg PSAnQycgT1IKKyAgICAgICAoU0VMRUNUIGRhdGxvY3Byb3ZpZGVyPSdpJyBGUk9NIHBnX2RhdGFi YXNlCisgICAgICAgIFdIRVJFIGRhdG5hbWU9Y3VycmVudF9kYXRhYmFzZSgpKQogICAgICAgIEFT IHNraXBfdGVzdCBcZ3NldAogXGlmIDpza2lwX3Rlc3QKIFxxdWl0CmRpZmYgLS1naXQgYS9jb250 cmliL2NpdGV4dC9leHBlY3RlZC9jaXRleHRfdXRmOF8xLm91dCBiL2NvbnRyaWIvY2l0ZXh0L2V4 cGVjdGVkL2NpdGV4dF91dGY4XzEub3V0CmluZGV4IDQzM2U5ODUzNDkuLjYwZGRlYmQ4NDEgMTAw NjQ0Ci0tLSBhL2NvbnRyaWIvY2l0ZXh0L2V4cGVjdGVkL2NpdGV4dF91dGY4XzEub3V0CisrKyBi L2NvbnRyaWIvY2l0ZXh0L2V4cGVjdGVkL2NpdGV4dF91dGY4XzEub3V0CkBAIC0zLDcgKzMsOSBA QAogICogYW5kIGEgVW5pY29kZS1hd2FyZSBsb2NhbGUuCiAgKi8KIFNFTEVDVCBnZXRkYXRhYmFz ZWVuY29kaW5nKCkgPD4gJ1VURjgnIE9SCi0gICAgICAgY3VycmVudF9zZXR0aW5nKCdsY19jdHlw ZScpID0gJ0MnCisgICAgICAgY3VycmVudF9zZXR0aW5nKCdsY19jdHlwZScpID0gJ0MnIE9SCisg ICAgICAgKFNFTEVDVCBkYXRsb2Nwcm92aWRlcj0naScgRlJPTSBwZ19kYXRhYmFzZQorICAgICAg ICBXSEVSRSBkYXRuYW1lPWN1cnJlbnRfZGF0YWJhc2UoKSkKICAgICAgICBBUyBza2lwX3Rlc3Qg XGdzZXQKIFxpZiA6c2tpcF90ZXN0CiBccXVpdApkaWZmIC0tZ2l0IGEvY29udHJpYi9jaXRleHQv c3FsL2NpdGV4dF91dGY4LnNxbCBiL2NvbnRyaWIvY2l0ZXh0L3NxbC9jaXRleHRfdXRmOC5zcWwK aW5kZXggZDA2ODAwMGI0Mi4uZTljNTA0ZTc2NCAxMDA2NDQKLS0tIGEvY29udHJpYi9jaXRleHQv c3FsL2NpdGV4dF91dGY4LnNxbAorKysgYi9jb250cmliL2NpdGV4dC9zcWwvY2l0ZXh0X3V0Zjgu c3FsCkBAIC00LDcgKzQsOSBAQAogICovCiAKIFNFTEVDVCBnZXRkYXRhYmFzZWVuY29kaW5nKCkg PD4gJ1VURjgnIE9SCi0gICAgICAgY3VycmVudF9zZXR0aW5nKCdsY19jdHlwZScpID0gJ0MnCisg ICAgICAgY3VycmVudF9zZXR0aW5nKCdsY19jdHlwZScpID0gJ0MnIE9SCisgICAgICAgKFNFTEVD VCBkYXRsb2Nwcm92aWRlcj0naScgRlJPTSBwZ19kYXRhYmFzZQorICAgICAgICBXSEVSRSBkYXRu YW1lPWN1cnJlbnRfZGF0YWJhc2UoKSkKICAgICAgICBBUyBza2lwX3Rlc3QgXGdzZXQKIFxpZiA6 c2tpcF90ZXN0CiBccXVpdApkaWZmIC0tZ2l0IGEvY29udHJpYi91bmFjY2VudC9leHBlY3RlZC91 bmFjY2VudC5vdXQgYi9jb250cmliL3VuYWNjZW50L2V4cGVjdGVkL3VuYWNjZW50Lm91dAppbmRl eCBlZTBhYzcxYTFjLi5jZWY5OGVlNjBjIDEwMDY0NAotLS0gYS9jb250cmliL3VuYWNjZW50L2V4 cGVjdGVkL3VuYWNjZW50Lm91dAorKysgYi9jb250cmliL3VuYWNjZW50L2V4cGVjdGVkL3VuYWNj ZW50Lm91dApAQCAtMSwzICsxLDEyIEBACistLSB1bmFjY2VudCBpcyBicm9rZW4gaWYgdGhlIGRl ZmF1bHQgY29sbGF0aW9uIGlzIHByb3ZpZGVkIGJ5IElDVSBhbmQKKy0tIExDX0NUWVBFPUMKK1NF TEVDVCBjdXJyZW50X3NldHRpbmcoJ2xjX2N0eXBlJykgPSAnQycgQU5ECisgICAgICAgKFNFTEVD VCBkYXRsb2Nwcm92aWRlcj0naScgRlJPTSBwZ19kYXRhYmFzZQorICAgICAgICBXSEVSRSBkYXRu YW1lPWN1cnJlbnRfZGF0YWJhc2UoKSkKKwlBUyBza2lwX3Rlc3QgXGdzZXQKK1xpZiA6c2tpcF90 ZXN0CitccXVpdAorXGVuZGlmCiBDUkVBVEUgRVhURU5TSU9OIHVuYWNjZW50OwogLS0gbXVzdCBo YXZlIGEgVVRGOCBkYXRhYmFzZQogU0VMRUNUIGdldGRhdGFiYXNlZW5jb2RpbmcoKTsKZGlmZiAt LWdpdCBhL2NvbnRyaWIvdW5hY2NlbnQvZXhwZWN0ZWQvdW5hY2NlbnRfMS5vdXQgYi9jb250cmli L3VuYWNjZW50L2V4cGVjdGVkL3VuYWNjZW50XzEub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjBhNGEzODM4YWIKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL3Vu YWNjZW50L2V4cGVjdGVkL3VuYWNjZW50XzEub3V0CkBAIC0wLDAgKzEsOCBAQAorLS0gdW5hY2Nl bnQgaXMgYnJva2VuIGlmIHRoZSBkZWZhdWx0IGNvbGxhdGlvbiBpcyBwcm92aWRlZCBieSBJQ1Ug YW5kCistLSBMQ19DVFlQRT1DCitTRUxFQ1QgY3VycmVudF9zZXR0aW5nKCdsY19jdHlwZScpID0g J0MnIEFORAorICAgICAgIChTRUxFQ1QgZGF0bG9jcHJvdmlkZXI9J2knIEZST00gcGdfZGF0YWJh c2UKKyAgICAgICAgV0hFUkUgZGF0bmFtZT1jdXJyZW50X2RhdGFiYXNlKCkpCisJQVMgc2tpcF90 ZXN0IFxnc2V0CitcaWYgOnNraXBfdGVzdAorXHF1aXQKZGlmZiAtLWdpdCBhL2NvbnRyaWIvdW5h Y2NlbnQvc3FsL3VuYWNjZW50LnNxbCBiL2NvbnRyaWIvdW5hY2NlbnQvc3FsL3VuYWNjZW50LnNx bAppbmRleCAzZmMwYzcwNmJlLi4wMjdkZmI5NjRhIDEwMDY0NAotLS0gYS9jb250cmliL3VuYWNj ZW50L3NxbC91bmFjY2VudC5zcWwKKysrIGIvY29udHJpYi91bmFjY2VudC9zcWwvdW5hY2NlbnQu c3FsCkBAIC0xLDMgKzEsMTQgQEAKKworLS0gdW5hY2NlbnQgaXMgYnJva2VuIGlmIHRoZSBkZWZh dWx0IGNvbGxhdGlvbiBpcyBwcm92aWRlZCBieSBJQ1UgYW5kCistLSBMQ19DVFlQRT1DCitTRUxF Q1QgY3VycmVudF9zZXR0aW5nKCdsY19jdHlwZScpID0gJ0MnIEFORAorICAgICAgIChTRUxFQ1Qg ZGF0bG9jcHJvdmlkZXI9J2knIEZST00gcGdfZGF0YWJhc2UKKyAgICAgICAgV0hFUkUgZGF0bmFt ZT1jdXJyZW50X2RhdGFiYXNlKCkpCisJQVMgc2tpcF90ZXN0IFxnc2V0CitcaWYgOnNraXBfdGVz dAorXHF1aXQKK1xlbmRpZgorCiBDUkVBVEUgRVhURU5TSU9OIHVuYWNjZW50OwogCiAtLSBtdXN0 IGhhdmUgYSBVVEY4IGRhdGFiYXNlCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2luaXRk Yi5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9pbml0ZGIuc2dtbAppbmRleCA1YjJiZGFjMTAxLi40 ZjM3Mzg2ZWEzIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2luaXRkYi5zZ21sCisrKyBi L2RvYy9zcmMvc2dtbC9yZWYvaW5pdGRiLnNnbWwKQEAgLTg5LDEwICs4OSwyOCBAQCBQb3N0Z3Jl U1FMIGRvY3VtZW50YXRpb24KICAgIGFuZCBjaGFyYWN0ZXIgc2V0IGVuY29kaW5nLiBUaGVzZSBj YW4gYWxzbyBiZSBzZXQgc2VwYXJhdGVseSBmb3IgZWFjaAogICAgZGF0YWJhc2Ugd2hlbiBpdCBp cyBjcmVhdGVkLiA8Y29tbWFuZD5pbml0ZGI8L2NvbW1hbmQ+IGRldGVybWluZXMgdGhvc2UKICAg IHNldHRpbmdzIGZvciB0aGUgdGVtcGxhdGUgZGF0YWJhc2VzLCB3aGljaCB3aWxsIHNlcnZlIGFz IHRoZSBkZWZhdWx0IGZvcgotICAgYWxsIG90aGVyIGRhdGFiYXNlcy4gIEJ5IGRlZmF1bHQsIDxj b21tYW5kPmluaXRkYjwvY29tbWFuZD4gdXNlcyB0aGUKLSAgIGxvY2FsZSBwcm92aWRlciA8bGl0 ZXJhbD5saWJjPC9saXRlcmFsPiwgdGFrZXMgdGhlIGxvY2FsZSBzZXR0aW5ncyBmcm9tCi0gICB0 aGUgZW52aXJvbm1lbnQsIGFuZCBkZXRlcm1pbmVzIHRoZSBlbmNvZGluZyBmcm9tIHRoZSBsb2Nh bGUgc2V0dGluZ3MuCi0gICBUaGlzIGlzIGFsbW9zdCBhbHdheXMgc3VmZmljaWVudCwgdW5sZXNz IHRoZXJlIGFyZSBzcGVjaWFsIHJlcXVpcmVtZW50cy4KKyAgIGFsbCBvdGhlciBkYXRhYmFzZXMu CisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIEJ5IGRlZmF1bHQsIDxjb21tYW5kPmluaXRkYjwv Y29tbWFuZD4gdXNlcyB0aGUgSUNVIGxpYnJhcnkgdG8gcHJvdmlkZQorICAgbG9jYWxlIHNlcnZp Y2VzIGlmIHRoZSBzZXJ2ZXIgd2FzIGJ1aWx0IHdpdGggSUNVIHN1cHBvcnQ7IG90aGVyd2lzZSBp dCB1c2VzCisgICB0aGUgPGxpdGVyYWw+bGliYzwvbGl0ZXJhbD4gbG9jYWxlIHByb3ZpZGVyIChz ZWUgPHhyZWYKKyAgIGxpbmtlbmQ9ImxvY2FsZS1wcm92aWRlcnMiLz4pLiBUbyBjaG9vc2UgdGhl IHNwZWNpZmljIElDVSBsb2NhbGUgSUQgdG8KKyAgIGFwcGx5LCB1c2UgdGhlIG9wdGlvbiA8b3B0 aW9uPi0taWN1LWxvY2FsZTwvb3B0aW9uPi4gIE5vdGUgdGhhdCBmb3IKKyAgIGltcGxlbWVudGF0 aW9uIHJlYXNvbnMgYW5kIHRvIHN1cHBvcnQgbGVnYWN5IGNvZGUsCisgICA8Y29tbWFuZD5pbml0 ZGI8L2NvbW1hbmQ+IHdpbGwgc3RpbGwgc2VsZWN0IGFuZCBpbml0aWFsaXplIGxpYmMgbG9jYWxl CisgICBzZXR0aW5ncyB3aGVuIHRoZSBJQ1UgbG9jYWxlIHByb3ZpZGVyIGlzIHVzZWQuCisgIDwv cGFyYT4KKworICA8cGFyYT4KKyAgIEFsdGVybmF0aXZlbHksIDxjb21tYW5kPmluaXRkYjwvY29t bWFuZD4gY2FuIHVzZSB0aGUgbG9jYWxlIHByb3ZpZGVyCisgICA8bGl0ZXJhbD5saWJjPC9saXRl cmFsPi4gVG8gc2VsZWN0IHRoaXMgb3B0aW9uLCBzcGVjaWZ5CisgICA8bGl0ZXJhbD4tLWxvY2Fs ZS1wcm92aWRlcj1saWJjPC9saXRlcmFsPiwgb3IgYnVpbGQgdGhlIHNlcnZlciB3aXRob3V0IElD VQorICAgc3VwcG9ydC4gVGhlIDxsaXRlcmFsPmxpYmM8L2xpdGVyYWw+IGxvY2FsZSBwcm92aWRl ciB0YWtlcyB0aGUgbG9jYWxlCisgICBzZXR0aW5ncyBmcm9tIHRoZSBlbnZpcm9ubWVudCwgYW5k IGRldGVybWluZXMgdGhlIGVuY29kaW5nIGZyb20gdGhlIGxvY2FsZQorICAgc2V0dGluZ3MuICBU aGlzIGlzIGFsbW9zdCBhbHdheXMgc3VmZmljaWVudCwgdW5sZXNzIHRoZXJlIGFyZSBzcGVjaWFs CisgICByZXF1aXJlbWVudHMuCiAgIDwvcGFyYT4KIAogICA8cGFyYT4KQEAgLTEwMywxNyArMTIx LDYgQEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAgICBjYXRlZ29yaWVzIGNhbiBnaXZlIG5v bnNlbnNpY2FsIHJlc3VsdHMsIHNvIHRoaXMgc2hvdWxkIGJlIHVzZWQgd2l0aCBjYXJlLgogICA8 L3BhcmE+CiAKLSAgPHBhcmE+Ci0gICBBbHRlcm5hdGl2ZWx5LCB0aGUgSUNVIGxpYnJhcnkgY2Fu IGJlIHVzZWQgdG8gcHJvdmlkZSBsb2NhbGUgc2VydmljZXMuCi0gICAoQWdhaW4sIHRoaXMgb25s eSBzZXRzIHRoZSBkZWZhdWx0IGZvciBzdWJzZXF1ZW50bHkgY3JlYXRlZCBkYXRhYmFzZXMuKSAg VG8KLSAgIHNlbGVjdCB0aGlzIG9wdGlvbiwgc3BlY2lmeSA8bGl0ZXJhbD4tLWxvY2FsZS1wcm92 aWRlcj1pY3U8L2xpdGVyYWw+LgotICAgVG8gY2hvb3NlIHRoZSBzcGVjaWZpYyBJQ1UgbG9jYWxl IElEIHRvIGFwcGx5LCB1c2UgdGhlIG9wdGlvbgotICAgPG9wdGlvbj4tLWljdS1sb2NhbGU8L29w dGlvbj4uICBOb3RlIHRoYXQKLSAgIGZvciBpbXBsZW1lbnRhdGlvbiByZWFzb25zIGFuZCB0byBz dXBwb3J0IGxlZ2FjeSBjb2RlLAotICAgPGNvbW1hbmQ+aW5pdGRiPC9jb21tYW5kPiB3aWxsIHN0 aWxsIHNlbGVjdCBhbmQgaW5pdGlhbGl6ZSBsaWJjIGxvY2FsZQotICAgc2V0dGluZ3Mgd2hlbiB0 aGUgSUNVIGxvY2FsZSBwcm92aWRlciBpcyB1c2VkLgotICA8L3BhcmE+Ci0KICAgPHBhcmE+CiAg ICBXaGVuIDxjb21tYW5kPmluaXRkYjwvY29tbWFuZD4gcnVucywgaXQgd2lsbCBwcmludCBvdXQg dGhlIGxvY2FsZSBzZXR0aW5ncwogICAgaXQgaGFzIGNob3Nlbi4gIElmIHlvdSBoYXZlIGNvbXBs ZXggcmVxdWlyZW1lbnRzIG9yIHNwZWNpZmllZCBtdWx0aXBsZQpAQCAtMjM0LDcgKzI0MSw4IEBA IFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogICAgICAgPHRlcm0+PG9wdGlvbj4tLWljdS1sb2Nh bGU9PHJlcGxhY2VhYmxlPmxvY2FsZTwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC90ZXJtPgogICAg ICAgPGxpc3RpdGVtPgogICAgICAgIDxwYXJhPgotICAgICAgICBTcGVjaWZpZXMgdGhlIElDVSBs b2NhbGUgSUQsIGlmIHRoZSBJQ1UgbG9jYWxlIHByb3ZpZGVyIGlzIHVzZWQuCisgICAgICAgIFNw ZWNpZmllcyB0aGUgSUNVIGxvY2FsZSBJRCwgaWYgdGhlIElDVSBsb2NhbGUgcHJvdmlkZXIgaXMg dXNlZC4gQnkKKyAgICAgICAgZGVmYXVsdCwgSUNVIG9idGFpbnMgdGhlIElDVSBsb2NhbGUgZnJv bSB0aGUgSUNVIGRlZmF1bHQgY29sbGF0b3IuCiAgICAgICAgPC9wYXJhPgogICAgICAgPC9saXN0 aXRlbT4KICAgICAgPC92YXJsaXN0ZW50cnk+CkBAIC0yOTcsMTAgKzMwNSwxMiBAQCBQb3N0Z3Jl U1FMIGRvY3VtZW50YXRpb24KICAgICAgIDx0ZXJtPjxvcHRpb24+LS1sb2NhbGUtcHJvdmlkZXI9 ezxsaXRlcmFsPmxpYmM8L2xpdGVyYWw+fDxsaXRlcmFsPmljdTwvbGl0ZXJhbD59PC9vcHRpb24+ PC90ZXJtPgogICAgICAgPGxpc3RpdGVtPgogICAgICAgIDxwYXJhPgotICAgICAgICBUaGlzIG9w dGlvbiBzZXRzIHRoZSBsb2NhbGUgcHJvdmlkZXIgZm9yIGRhdGFiYXNlcyBjcmVhdGVkIGluIHRo ZQotICAgICAgICBuZXcgY2x1c3Rlci4gIEl0IGNhbiBiZSBvdmVycmlkZGVuIGluIHRoZSA8Y29t bWFuZD5DUkVBVEUKKyAgICAgICAgVGhpcyBvcHRpb24gc2V0cyB0aGUgbG9jYWxlIHByb3ZpZGVy IGZvciBkYXRhYmFzZXMgY3JlYXRlZCBpbiB0aGUgbmV3CisgICAgICAgIGNsdXN0ZXIuICBJdCBj YW4gYmUgb3ZlcnJpZGRlbiBpbiB0aGUgPGNvbW1hbmQ+Q1JFQVRFCiAgICAgICAgIERBVEFCQVNF PC9jb21tYW5kPiBjb21tYW5kIHdoZW4gbmV3IGRhdGFiYXNlcyBhcmUgc3Vic2VxdWVudGx5Ci0g ICAgICAgIGNyZWF0ZWQuICBUaGUgZGVmYXVsdCBpcyA8bGl0ZXJhbD5saWJjPC9saXRlcmFsPi4K KyAgICAgICAgY3JlYXRlZC4gIFRoZSBkZWZhdWx0IGlzIDxsaXRlcmFsPmljdTwvbGl0ZXJhbD4g aWYgdGhlIHNlcnZlciB3YXMKKyAgICAgICAgYnVpbHQgd2l0aCBJQ1Ugc3VwcG9ydDsgb3RoZXJ3 aXNlIHRoZSBkZWZhdWx0IGlzCisgICAgICAgIDxsaXRlcmFsPmxpYmM8L2xpdGVyYWw+IChzZWUg PHhyZWYgbGlua2VuZD0ibG9jYWxlLXByb3ZpZGVycyIvPikuCiAgICAgICAgPC9wYXJhPgogICAg ICAgPC9saXN0aXRlbT4KICAgICAgPC92YXJsaXN0ZW50cnk+CmRpZmYgLS1naXQgYS9zcmMvYmlu L2luaXRkYi9NYWtlZmlsZSBiL3NyYy9iaW4vaW5pdGRiL01ha2VmaWxlCmluZGV4IGVhYjg5YzU1 MDEuLmQ2OWJkODk1NzIgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vaW5pdGRiL01ha2VmaWxlCisrKyBi L3NyYy9iaW4vaW5pdGRiL01ha2VmaWxlCkBAIC0xNiw3ICsxNiw3IEBAIHN1YmRpciA9IHNyYy9i aW4vaW5pdGRiCiB0b3BfYnVpbGRkaXIgPSAuLi8uLi8uLgogaW5jbHVkZSAkKHRvcF9idWlsZGRp cikvc3JjL01ha2VmaWxlLmdsb2JhbAogCi1vdmVycmlkZSBDUFBGTEFHUyA6PSAtSSQobGlicHFf c3JjZGlyKSAtSSQodG9wX3NyY2Rpcikvc3JjL3RpbWV6b25lICQoQ1BQRkxBR1MpCitvdmVycmlk ZSBDUFBGTEFHUyA6PSAtSSQobGlicHFfc3JjZGlyKSAtSSQodG9wX3NyY2Rpcikvc3JjL3RpbWV6 b25lICQoSUNVX0NGTEFHUykgJChDUFBGTEFHUykKIAogIyBOb3RlOiBpdCdzIGltcG9ydGFudCB0 aGF0IHdlIGxpbmsgdG8gZW5jbmFtZXMubyBmcm9tIGxpYnBnY29tbW9uLCBub3QKICMgZnJvbSBs aWJwcSwgZWxzZSB3ZSBoYXZlIHJpc2tzIG9mIHZlcnNpb24gc2tldyBpZiB3ZSBydW4gd2l0aCBh IGxpYnBxCkBAIC0yNCw3ICsyNCw3IEBAIG92ZXJyaWRlIENQUEZMQUdTIDo9IC1JJChsaWJwcV9z cmNkaXIpIC1JJCh0b3Bfc3JjZGlyKS9zcmMvdGltZXpvbmUgJChDUFBGTEFHUykKICMgc2hvdWxk IGVuc3VyZSB0aGF0IHRoYXQgaGFwcGVucy4KICMKICMgV2UgbmVlZCBsaWJwcSBvbmx5IGJlY2F1 c2UgZmVfdXRpbHMgZG9lcy4KLUxERkxBR1NfSU5URVJOQUwgKz0gLUwkKHRvcF9idWlsZGRpcikv c3JjL2ZlX3V0aWxzIC1scGdmZXV0aWxzICQobGlicHFfcGdwb3J0KQorTERGTEFHU19JTlRFUk5B TCArPSAtTCQodG9wX2J1aWxkZGlyKS9zcmMvZmVfdXRpbHMgLWxwZ2ZldXRpbHMgJChsaWJwcV9w Z3BvcnQpICQoSUNVX0xJQlMpCiAKICMgdXNlIHN5c3RlbSB0aW1lem9uZSBkYXRhPwogaWZuZXEg KCwkKHdpdGhfc3lzdGVtX3R6ZGF0YSkpCmRpZmYgLS1naXQgYS9zcmMvYmluL2luaXRkYi9pbml0 ZGIuYyBiL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jCmluZGV4IDdhNThjMzNhY2UuLjA3NzYyOTQ0 OTkgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jCisrKyBiL3NyYy9iaW4vaW5p dGRiL2luaXRkYi5jCkBAIC01Myw2ICs1Myw5IEBACiAjaW5jbHVkZSA8bmV0ZGIuaD4KICNpbmNs dWRlIDxzeXMvc29ja2V0Lmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpZmRlZiBVU0VfSUNV CisjaW5jbHVkZSA8dW5pY29kZS91Y29sLmg+CisjZW5kaWYKICNpbmNsdWRlIDx1bmlzdGQuaD4K ICNpbmNsdWRlIDxzaWduYWwuaD4KICNpbmNsdWRlIDx0aW1lLmg+CkBAIC0xMzMsNyArMTM2LDEx IEBAIHN0YXRpYyBjaGFyICpsY19tb25ldGFyeSA9IE5VTEw7CiBzdGF0aWMgY2hhciAqbGNfbnVt ZXJpYyA9IE5VTEw7CiBzdGF0aWMgY2hhciAqbGNfdGltZSA9IE5VTEw7CiBzdGF0aWMgY2hhciAq bGNfbWVzc2FnZXMgPSBOVUxMOworI2lmZGVmIFVTRV9JQ1UKK3N0YXRpYyBjaGFyIGxvY2FsZV9w cm92aWRlciA9IENPTExQUk9WSURFUl9JQ1U7CisjZWxzZQogc3RhdGljIGNoYXIgbG9jYWxlX3By b3ZpZGVyID0gQ09MTFBST1ZJREVSX0xJQkM7CisjZW5kaWYKIHN0YXRpYyBjaGFyICppY3VfbG9j YWxlID0gTlVMTDsKIHN0YXRpYyBjb25zdCBjaGFyICpkZWZhdWx0X3RleHRfc2VhcmNoX2NvbmZp ZyA9IE5VTEw7CiBzdGF0aWMgY2hhciAqdXNlcm5hbWUgPSBOVUxMOwpAQCAtMjAyNCw2ICsyMDMx LDcyIEBAIGNoZWNrX2ljdV9sb2NhbGVfZW5jb2RpbmcoaW50IHVzZXJfZW5jKQogCXJldHVybiB0 cnVlOwogfQogCisvKgorICogQ2hlY2sgdGhhdCBJQ1UgYWNjZXB0cyB0aGUgbG9jYWxlIG5hbWU7 IG9yIGlmIG5vdCBzcGVjaWZpZWQsIHJldHJpZXZlIHRoZQorICogZGVmYXVsdCBJQ1UgbG9jYWxl LgorICovCitzdGF0aWMgdm9pZAorY2hlY2tfaWN1X2xvY2FsZSgpCit7CisjaWZkZWYgVVNFX0lD VQorCVVDb2xsYXRvcgkqY29sbGF0b3I7CisJVUVycm9yQ29kZSAgIHN0YXR1czsKKworCXN0YXR1 cyA9IFVfWkVST19FUlJPUjsKKwljb2xsYXRvciA9IHVjb2xfb3BlbihpY3VfbG9jYWxlLCAmc3Rh dHVzKTsKKwlpZiAoVV9GQUlMVVJFKHN0YXR1cykpCisJeworCQlpZiAoaWN1X2xvY2FsZSkKKwkJ CXBnX2ZhdGFsKCJjb3VsZCBub3Qgb3BlbiBjb2xsYXRvciBmb3IgbG9jYWxlIFwiJXNcIjogJXMi LAorCQkJCQkgaWN1X2xvY2FsZSwgdV9lcnJvck5hbWUoc3RhdHVzKSk7CisJCWVsc2UKKwkJCXBn X2ZhdGFsKCJjb3VsZCBub3Qgb3BlbiBjb2xsYXRvciBmb3IgZGVmYXVsdCBsb2NhbGU6ICVzIiwK KwkJCQkJIHVfZXJyb3JOYW1lKHN0YXR1cykpOworCX0KKworCS8qIGlmIG5vdCBzcGVjaWZpZWQs IGdldCBsb2NhbGUgZnJvbSBkZWZhdWx0IGNvbGxhdG9yICovCisJaWYgKGljdV9sb2NhbGUgPT0g TlVMTCkKKwl7CisJCWNvbnN0IGNoYXIJKmRlZmF1bHRfbG9jYWxlOworCisJCXN0YXR1cyA9IFVf WkVST19FUlJPUjsKKwkJZGVmYXVsdF9sb2NhbGUgPSB1Y29sX2dldExvY2FsZUJ5VHlwZShjb2xs YXRvciwgVUxPQ19WQUxJRF9MT0NBTEUsCisJCQkJCQkJCQkJCSAgJnN0YXR1cyk7CisJCWlmIChV X0ZBSUxVUkUoc3RhdHVzKSkKKwkJeworCQkJdWNvbF9jbG9zZShjb2xsYXRvcik7CisJCQlwZ19m YXRhbCgiY291bGQgbm90IGRldGVybWluZSBkZWZhdWx0IElDVSBsb2NhbGUiKTsKKwkJfQorCisJ CWlmIChVX0lDVV9WRVJTSU9OX01BSk9SX05VTSA+PSA1NCkKKwkJeworCQkJY29uc3QgYm9vbAkg c3RyaWN0ID0gdHJ1ZTsKKwkJCWNoYXIJCSpsYW5ndGFnOworCQkJaW50CQkJIGxlbjsKKworCQkJ bGVuID0gdWxvY190b0xhbmd1YWdlVGFnKGRlZmF1bHRfbG9jYWxlLCBOVUxMLCAwLCBzdHJpY3Qs ICZzdGF0dXMpOworCQkJbGFuZ3RhZyA9IHBnX21hbGxvYyhsZW4gKyAxKTsKKwkJCXN0YXR1cyA9 IFVfWkVST19FUlJPUjsKKwkJCXVsb2NfdG9MYW5ndWFnZVRhZyhkZWZhdWx0X2xvY2FsZSwgbGFu Z3RhZywgbGVuICsgMSwgc3RyaWN0LAorCQkJCQkJCSAgICZzdGF0dXMpOworCisJCQlpZiAoVV9G QUlMVVJFKHN0YXR1cykpCisJCQl7CisJCQkJdWNvbF9jbG9zZShjb2xsYXRvcik7CisJCQkJcGdf ZmF0YWwoImNvdWxkIG5vdCBkZXRlcm1pbmUgbGFuZ3VhZ2UgdGFnIGZvciBkZWZhdWx0IGxvY2Fs ZSBcIiVzXCI6ICVzIiwKKwkJCQkJCSBkZWZhdWx0X2xvY2FsZSwgdV9lcnJvck5hbWUoc3RhdHVz KSk7CisJCQl9CisKKwkJCWljdV9sb2NhbGUgPSBsYW5ndGFnOworCQl9CisJCWVsc2UKKwkJCWlj dV9sb2NhbGUgPSBwZ19zdHJkdXAoZGVmYXVsdF9sb2NhbGUpOworCX0KKworCXVjb2xfY2xvc2Uo Y29sbGF0b3IpOworI2VuZGlmCit9CisKIC8qCiAgKiBzZXQgdXAgdGhlIGxvY2FsZSB2YXJpYWJs ZXMKICAqCkBAIC0yMDc3LDggKzIxNTAsNyBAQCBzZXRsb2NhbGVzKHZvaWQpCiAKIAlpZiAobG9j YWxlX3Byb3ZpZGVyID09IENPTExQUk9WSURFUl9JQ1UpCiAJewotCQlpZiAoIWljdV9sb2NhbGUp Ci0JCQlwZ19mYXRhbCgiSUNVIGxvY2FsZSBtdXN0IGJlIHNwZWNpZmllZCIpOworCQljaGVja19p Y3VfbG9jYWxlKCk7CiAKIAkJLyoKIAkJICogSW4gc3VwcG9ydGVkIGJ1aWxkcywgdGhlIElDVSBs b2NhbGUgSUQgd2lsbCBiZSBjaGVja2VkIGJ5IHRoZQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9pbml0 ZGIvdC8wMDFfaW5pdGRiLnBsIGIvc3JjL2Jpbi9pbml0ZGIvdC8wMDFfaW5pdGRiLnBsCmluZGV4 IDc3Mjc2OWFjYWIuLmU1ZDIxNGUwOWMgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vaW5pdGRiL3QvMDAx X2luaXRkYi5wbAorKysgYi9zcmMvYmluL2luaXRkYi90LzAwMV9pbml0ZGIucGwKQEAgLTk3LDEx ICs5Nyw2IEBAIFNLSVA6CiAKIGlmICgkRU5We3dpdGhfaWN1fSBlcSAneWVzJykKIHsKLQljb21t YW5kX2ZhaWxzX2xpa2UoCi0JCVsgJ2luaXRkYicsICctLW5vLXN5bmMnLCAnLS1sb2NhbGUtcHJv dmlkZXI9aWN1JywgIiR0ZW1wZGlyL2RhdGEyIiBdLAotCQlxci9pbml0ZGI6IGVycm9yOiBJQ1Ug bG9jYWxlIG11c3QgYmUgc3BlY2lmaWVkLywKLQkJJ2xvY2FsZSBwcm92aWRlciBJQ1UgcmVxdWly ZXMgLS1pY3UtbG9jYWxlJyk7Ci0KIAljb21tYW5kX29rKAogCQlbCiAJCQknaW5pdGRiJywgICAg ICAgICAgICAgICAgJy0tbm8tc3luYycsCkBAIC0xMTYsNyArMTExLDcgQEAgaWYgKCRFTlZ7d2l0 aF9pY3V9IGVxICd5ZXMnKQogCQkJJy0tbG9jYWxlLXByb3ZpZGVyPWljdScsICctLWljdS1sb2Nh bGU9QGNvbE51bWVyaWM9bG93ZXInLAogCQkJIiR0ZW1wZGlyL2RhdGFYIgogCQldLAotCQlxci9G QVRBTDogIGNvdWxkIG5vdCBvcGVuIGNvbGxhdG9yIGZvciBsb2NhbGUvLAorCQlxci9lcnJvcjog Y291bGQgbm90IG9wZW4gY29sbGF0b3IgZm9yIGxvY2FsZS8sCiAJCSdmYWlscyBmb3IgaW52YWxp ZCBJQ1UgbG9jYWxlJyk7CiAKIAljb21tYW5kX2ZhaWxzX2xpa2UoCmRpZmYgLS1naXQgYS9zcmMv YmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbCBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19k dW1wLnBsCmluZGV4IGQ5MjI0N2M5MTUuLjMwMjk0ZjM4MWMgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v cGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCisrKyBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19k dW1wLnBsCkBAIC0xNjg0LDcgKzE2ODQsNyBAQCBteSAldGVzdHMgPSAoCiAJCWNyZWF0ZV9zcWwg PT4KIAkJICAiQ1JFQVRFIERBVEFCQVNFIGR1bXBfdGVzdDIgTE9DQUxFID0gJ0MnIFRFTVBMQVRF ID0gdGVtcGxhdGUwOyIsCiAJCXJlZ2V4cCA9PiBxci9eCi0JCQlcUUNSRUFURSBEQVRBQkFTRSBk dW1wX3Rlc3QyIFxFLipcUUxPQ0FMRSA9ICdDJztcRQorCQkJXFFDUkVBVEUgREFUQUJBU0UgZHVt cF90ZXN0MiBcRS4qXFFMT0NBTEUgPSAnQydcRQogCQkJL3htLAogCQlsaWtlID0+IHsgcGdfZHVt cGFsbF9kYnByaXZzID0+IDEsIH0sCiAJfSwKZGlmZiAtLWdpdCBhL3NyYy9iaW4vc2NyaXB0cy90 LzAyMF9jcmVhdGVkYi5wbCBiL3NyYy9iaW4vc2NyaXB0cy90LzAyMF9jcmVhdGVkYi5wbAppbmRl eCAzYWQ0ZmJiMDBjLi44ZWM1OGNkZDY0IDEwMDY0NAotLS0gYS9zcmMvYmluL3NjcmlwdHMvdC8w MjBfY3JlYXRlZGIucGwKKysrIGIvc3JjL2Jpbi9zY3JpcHRzL3QvMDIwX2NyZWF0ZWRiLnBsCkBA IC0xMyw3ICsxMyw3IEBAIHByb2dyYW1fdmVyc2lvbl9vaygnY3JlYXRlZGInKTsKIHByb2dyYW1f b3B0aW9uc19oYW5kbGluZ19vaygnY3JlYXRlZGInKTsKIAogbXkgJG5vZGUgPSBQb3N0Z3JlU1FM OjpUZXN0OjpDbHVzdGVyLT5uZXcoJ21haW4nKTsKLSRub2RlLT5pbml0OworJG5vZGUtPmluaXQo ZXh0cmEgPT4gWyctLWxvY2FsZS1wcm92aWRlcj1saWJjJ10pOwogJG5vZGUtPnN0YXJ0OwogCiAk bm9kZS0+aXNzdWVzX3NxbF9saWtlKApkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvZWNwZy90 ZXN0L01ha2VmaWxlIGIvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L01ha2VmaWxlCmluZGV4IGQ3 YTdkMWQxY2EuLmNmODQxYTNhNWIgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVz dC9NYWtlZmlsZQorKysgYi9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvTWFrZWZpbGUKQEAgLTE0 LDkgKzE0LDYgQEAgb3ZlcnJpZGUgQ1BQRkxBR1MgOj0gXAogCSctRFNIRUxMUFJPRz0iJChTSEVM TCkiJyBcCiAJJChDUFBGTEFHUykKIAotIyBkZWZhdWx0IGVuY29kaW5nIGZvciByZWdyZXNzaW9u IHRlc3RzCi1FTkNPRElORyA9IFNRTF9BU0NJSQotCiBpZm5lcSAoJChidWlsZF9vcyksbWluZ3cz MikKIGFic19idWlsZGRpciA6PSAkKHNoZWxsIHB3ZCkKIGVsc2UKZGlmZiAtLWdpdCBhL3NyYy9p bnRlcmZhY2VzL2VjcGcvdGVzdC9jb25uZWN0L3Rlc3Q1LnBnYyBiL3NyYy9pbnRlcmZhY2VzL2Vj cGcvdGVzdC9jb25uZWN0L3Rlc3Q1LnBnYwppbmRleCBkZTI5MTYwMDg5Li5kNTEyNTUzNjc3IDEw MDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvY29ubmVjdC90ZXN0NS5wZ2MKKysr IGIvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2Nvbm5lY3QvdGVzdDUucGdjCkBAIC01NSw3ICs1 NSw3IEBAIGV4ZWMgc3FsIGVuZCBkZWNsYXJlIHNlY3Rpb247CiAJZXhlYyBzcWwgY29ubmVjdCB0 byAndW5peDpwb3N0Z3Jlc3FsOi8vbG9jYWxob3N0L2VjcGcyX3JlZ3Jlc3Npb24nIGFzIG1haW4g dXNlciA6dXNlciBVU0lORyAiY29ubmVjdHB3IjsKIAlleGVjIHNxbCBkaXNjb25uZWN0IG1haW47 CiAKLQlleGVjIHNxbCBjb25uZWN0IHRvIHVuaXg6cG9zdGdyZXNxbDovL2xvY2FsaG9zdC9lY3Bn Ml9yZWdyZXNzaW9uP2Nvbm5lY3RfdGltZW91dD0xODAmY2xpZW50X2VuY29kaW5nPWxhdGluMSBh cyBtYWluIHVzZXIgcmVncmVzc19lY3BnX3VzZXIxL2Nvbm5lY3RwdzsKKwlleGVjIHNxbCBjb25u ZWN0IHRvIHVuaXg6cG9zdGdyZXNxbDovL2xvY2FsaG9zdC9lY3BnMl9yZWdyZXNzaW9uP2Nvbm5l Y3RfdGltZW91dD0xODAmY2xpZW50X2VuY29kaW5nPXNxbF9hc2NpaSBhcyBtYWluIHVzZXIgcmVn cmVzc19lY3BnX3VzZXIxL2Nvbm5lY3RwdzsKIAlleGVjIHNxbCBkaXNjb25uZWN0IG1haW47CiAK IAlleGVjIHNxbCBjb25uZWN0IHRvICJ1bml4OnBvc3RncmVzcWw6Ly8yMDAuNDYuMjA0LjcxL2Vj cGcyX3JlZ3Jlc3Npb24iIGFzIG1haW4gdXNlciByZWdyZXNzX2VjcGdfdXNlcjEvY29ubmVjdHB3 OwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL2Nvbm5lY3Qt dGVzdDUuYyBiL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9jb25uZWN0LXRlc3Q1 LmMKaW5kZXggYzExMjRjNjI3Zi4uZWMxNTE0ZWQ5YSAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFj ZXMvZWNwZy90ZXN0L2V4cGVjdGVkL2Nvbm5lY3QtdGVzdDUuYworKysgYi9zcmMvaW50ZXJmYWNl cy9lY3BnL3Rlc3QvZXhwZWN0ZWQvY29ubmVjdC10ZXN0NS5jCkBAIC0xMTcsNyArMTE3LDcgQEAg bWFpbih2b2lkKQogI2xpbmUgNTYgInRlc3Q1LnBnYyIKIAogCi0JeyBFQ1BHY29ubmVjdChfX0xJ TkVfXywgMCwgInVuaXg6cG9zdGdyZXNxbDovL2xvY2FsaG9zdC9lY3BnMl9yZWdyZXNzaW9uP2Nv bm5lY3RfdGltZW91dD0xODAgJiBjbGllbnRfZW5jb2Rpbmc9bGF0aW4xIiAsICJyZWdyZXNzX2Vj cGdfdXNlcjEiICwgImNvbm5lY3RwdyIgLCAibWFpbiIsIDApOyB9CisJeyBFQ1BHY29ubmVjdChf X0xJTkVfXywgMCwgInVuaXg6cG9zdGdyZXNxbDovL2xvY2FsaG9zdC9lY3BnMl9yZWdyZXNzaW9u P2Nvbm5lY3RfdGltZW91dD0xODAgJiBjbGllbnRfZW5jb2Rpbmc9c3FsX2FzY2lpIiAsICJyZWdy ZXNzX2VjcGdfdXNlcjEiICwgImNvbm5lY3RwdyIgLCAibWFpbiIsIDApOyB9CiAjbGluZSA1OCAi dGVzdDUucGdjIgogCiAJeyBFQ1BHZGlzY29ubmVjdChfX0xJTkVfXywgIm1haW4iKTt9CmRpZmYg LS1naXQgYS9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvY29ubmVjdC10ZXN0NS5z dGRlcnIgYi9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvY29ubmVjdC10ZXN0NS5z dGRlcnIKaW5kZXggMDFhNmEwYTEzYi4uNTFjYzE4OTE2YSAxMDA2NDQKLS0tIGEvc3JjL2ludGVy ZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL2Nvbm5lY3QtdGVzdDUuc3RkZXJyCisrKyBiL3NyYy9p bnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9jb25uZWN0LXRlc3Q1LnN0ZGVycgpAQCAtNTAs NyArNTAsNyBAQAogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKIFtOT19Q SURdOiBlY3BnX2ZpbmlzaDogY29ubmVjdGlvbiBtYWluIGNsb3NlZAogW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURdOiBFQ1BHY29ubmVjdDogb3BlbmluZyBk YXRhYmFzZSBlY3BnMl9yZWdyZXNzaW9uIG9uIDxERUZBVUxUPiBwb3J0IDxERUZBVUxUPiB3aXRo IG9wdGlvbnMgY29ubmVjdF90aW1lb3V0PTE4MCAmIGNsaWVudF9lbmNvZGluZz1sYXRpbjEgZm9y IHVzZXIgcmVncmVzc19lY3BnX3VzZXIxCitbTk9fUElEXTogRUNQR2Nvbm5lY3Q6IG9wZW5pbmcg ZGF0YWJhc2UgZWNwZzJfcmVncmVzc2lvbiBvbiA8REVGQVVMVD4gcG9ydCA8REVGQVVMVD4gd2l0 aCBvcHRpb25zIGNvbm5lY3RfdGltZW91dD0xODAgJiBjbGllbnRfZW5jb2Rpbmc9c3FsX2FzY2lp IGZvciB1c2VyIHJlZ3Jlc3NfZWNwZ191c2VyMQogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKIFtOT19QSURdOiBlY3BnX2ZpbmlzaDogY29ubmVjdGlvbiBtYWluIGNsb3Nl ZAogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKZGlmZiAtLWdpdCBhL3Ny Yy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9tZXNvbi5idWlsZCBiL3NyYy9pbnRlcmZhY2VzL2VjcGcv dGVzdC9tZXNvbi5idWlsZAppbmRleCBkMGJlNzNjY2Y5Li4wNGM2ODE5YTc5IDEwMDY0NAotLS0g YS9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvbWVzb24uYnVpbGQKKysrIGIvc3JjL2ludGVyZmFj ZXMvZWNwZy90ZXN0L21lc29uLmJ1aWxkCkBAIC02OSw3ICs2OSw2IEBAIGVjcGdfdGVzdF9maWxl cyA9IGZpbGVzKAogZWNwZ19yZWdyZXNzX2FyZ3MgPSBbCiAgICctLWRibmFtZT1lY3BnMV9yZWdy ZXNzaW9uLGVjcGcyX3JlZ3Jlc3Npb24nLAogICAnLS1jcmVhdGUtcm9sZT1yZWdyZXNzX2VjcGdf dXNlcjEscmVncmVzc19lY3BnX3VzZXIyJywKLSAgJy0tZW5jb2Rpbmc9U1FMX0FTQ0lJJywKIF0K IAogdGVzdHMgKz0gewpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaWN1L3QvMDEwX2RhdGFiYXNlLnBs IGIvc3JjL3Rlc3QvaWN1L3QvMDEwX2RhdGFiYXNlLnBsCmluZGV4IDgwYWIxYzc3ODkuLjQ1ZDc3 YzMxOWEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2ljdS90LzAxMF9kYXRhYmFzZS5wbAorKysgYi9z cmMvdGVzdC9pY3UvdC8wMTBfZGF0YWJhc2UucGwKQEAgLTEyLDcgKzEyLDcgQEAgaWYgKCRFTlZ7 d2l0aF9pY3V9IG5lICd5ZXMnKQogfQogCiBteSAkbm9kZTEgPSBQb3N0Z3JlU1FMOjpUZXN0OjpD bHVzdGVyLT5uZXcoJ25vZGUxJyk7Ci0kbm9kZTEtPmluaXQ7Ciskbm9kZTEtPmluaXQoZXh0cmEg PT4gWyctLWxvY2FsZS1wcm92aWRlcj1saWJjJ10pOwogJG5vZGUxLT5zdGFydDsKIAogJG5vZGUx LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKLS0gCjIuMzQuMQoK --=-/Q/EedosBfZlXnkRwwt7--