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 1w0tdV-002Inv-07 for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 03:56:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w0tdS-001dkj-0M for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 03:56:26 +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 1w0tdR-001dkb-2S for pgsql-hackers@lists.postgresql.org; Fri, 13 Mar 2026 03:56:26 +0000 Received: from mail-ua1-x92e.google.com ([2607:f8b0:4864:20::92e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w0tdP-00000002P3T-2oDE for pgsql-hackers@postgresql.org; Fri, 13 Mar 2026 03:56:25 +0000 Received: by mail-ua1-x92e.google.com with SMTP id a1e0cc1a2514c-94dd2d71231so468586241.0 for ; Thu, 12 Mar 2026 20:56:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773374182; cv=none; d=google.com; s=arc-20240605; b=hXeDTnP6ZT3Ke4sVjYkI9cXeP1reSSWw9I4DN3tz8A0ITQtcYsMCVzCZ9TfEL97mUm UDcDFoGgGNI3OUSunvbk++SUSB2+XhMB/9eFzfQ5RqKwTXJN5Nr9P3vbeIH+RjNNlONd 7/HNWTQjV7parApEKTXzBQayQcomiWynmY9+B6vcAUqcJeVYTBaOx/1165TR5n4ZqJ5p 0pHY8YTGVLQ5b/ni5O09HErRB7RkDADQ/GBLwIbwaOUQJtDdbhZySn25VTLfUOyC0nx1 X8MEqh6pQ2tuqQGQWSlA4gFci+2ydNRrhI8NIpq1Lv07I5429bZs891qYoHH7xv59Y5s pzKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=ZE5qxKkX7N+QMgOWvm7AyEQ/qY+N0KHqsmRDi3wmuUE=; fh=8kWayiHT0er8eCt2Ot706u3X8/x54KTOZg7w+Bh7MfQ=; b=FE7sAvUX9Q6wc0bhqlPHuLv6gTYqFvsddk4FLoc60qYufox8FdiPodePoDWe8yh5uV pJfRuocVvyhIcvYqaCPIHi97gV/qt6Ol6MqwVOpnnKcp0XIzc7itmUN3OaEGbyuoKipH T6I8ppMPdx3uFu1xm1crRG+zCPrUiZSPml7K4fwDho3ifFQpheEZGl9z61UiCc4St/pJ hbrOGmu/5UuqTRcYNXwJQY0RoCdSmXiw3efCaqLSnuDRM/Efe98xHW9MoTECtQhLx299 AKn8ZgYFVyLOZUTVlJPcrC/n02nEkg3KvYRadVbBxIO+XoBfdPBMVFJ9DMFOSwkOdZu8 yIjw==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773374182; x=1773978982; darn=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=ZE5qxKkX7N+QMgOWvm7AyEQ/qY+N0KHqsmRDi3wmuUE=; b=EcaoQ+WAXXlq8VME5o31dvl1afgNwOub3du6xAmDaf/sqcD8r3T9BRezg+D34697JU cmJsoZf9EcQm7oe351uYoouWD9OxFlMenO9+KzlivE9syLmI6RNTdWsAfUNgIWM5CwwB VcS4InoBn2OMhzZC+u3QRyMwz87WU8Uzh5mPoZs5O7bXj9hFwOzrdFPmQ+po68Ope+ZR okSN+66+gIAd457qAgwKN7P2QMwp899jMPnAyrHsSZt0SLsPq/jGdBMS+7EGQr0p79kB l4OrL2k+p+Md/R5iZhs0jQalZ9TV0xEKGKlTJ+9eJyO/9InF1iSiPRWlXYuylJ1j2m1E 5nEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773374182; x=1773978982; 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=ZE5qxKkX7N+QMgOWvm7AyEQ/qY+N0KHqsmRDi3wmuUE=; b=KjeRN0k9EehGxo+BH5ffsjFNMSNsQnqTX+Ovo8R2E/f3HeeimWiHwjwIByij2tHhLl UmgV24O5VMdgKFOBeZz8/wXXyi83YTsHDr5GfIhY32njezzAV+ua3W9l5fv1NFtFtt8r U6hy1DZzcIh1lOfysO1oeEa+oN4dcNYoN9XBsiOQVKhQHvbYFgzIHoDQRk0GgjORjplE emprbB+BBrToJgkPG4WN04qxniJZktNvbGYJxd9c4ngGwDfjC5KQf6IzHflmhnFDsiVR XJ8RJP8GSlbbj6jCzVCFsw/83yHoyo28443z3HOi2YWikg8j6/K5zTknbexMkE/Jy9oI QAtg== X-Gm-Message-State: AOJu0YzatmBf4+7ZqiStCroM33mhDX2YTwMe+ngH7tI8+Uxcdpy+vkGK vBg1zlJZ6wqZGdR5m0mfnPdt4lgAu4LHfZhe0sf3a9J307OGVsY1E3nxPi6rgYC2tViyDyav9vr dNzEPfrTNxgWupzN/H2/ybUv1X3AhiOc= X-Gm-Gg: ATEYQzxZPD4L0ALdYmerZ+82pRvfgAaBjHuxhIlYSGfhOdzIZEInXAYnV9I2+2qVZh8 r0eSHy+v/Q+y0pUZDV9zjaawrlC2XkkdX+A1qSPUFHdj1OxSSY9yxsKdVyK9AuvTZ8nX6fHBYLf DdOo2I7nfbpyp/dEIzsLqn1Mt+oL61DzCx79Iam6UR+rc2//iF2OBZUwtmFw92mTKSRpwMraTAy RyJt2lwmoR9MKcm36yl6L0P3gvEiFXzndik4mUb8Ullbv37qMJFVKWEtMyZPd8nkDMa1aUyoC+y xx5ccZmFHtDHrzJS2omJQ/BrhI3fukhrmfZudShpe2p4vAvqbCLcvkOwAh8prRz2UebCH10dXh8 adQDmkEbOFV3bfJIsxRDSe7xRgEjcrVh1HiV71XB5Wlnh4thoxrcCdSvJtduMrbehhX75JruahT iyFQ89OOOzkWL2BCSf1WSzFw== X-Received: by 2002:a05:6102:304a:b0:5ff:e98f:2cd4 with SMTP id ada2fe7eead31-6020e16120fmr730643137.3.1773374181752; Thu, 12 Mar 2026 20:56:21 -0700 (PDT) MIME-Version: 1.0 References: <1118236.1763485279@sss.pgh.pa.us> In-Reply-To: From: jian he Date: Fri, 13 Mar 2026 11:55:44 +0800 X-Gm-Features: AaiRm50vLA-61Owk-MT66wafROC7Bw3M3MAYdpF82JMJMde3BBbUJcf_Sjl48ho Message-ID: Subject: Re: IS JSON predicate support for domain base type as JSON/JSONB/BYTEA/TEXT To: Tom Lane Cc: PostgreSQL-development Content-Type: multipart/mixed; boundary="000000000000286179064cdfda00" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000286179064cdfda00 Content-Type: text/plain; charset="UTF-8" Hi. The regression test was very verbose; I removed some of it. Also polished function ExecEvalJsonIsPredicate a little bit. -- jian https://www.enterprisedb.com/ --000000000000286179064cdfda00 Content-Type: text/x-patch; charset="US-ASCII"; name="v3-0001-IS-JSON-predicate-work-with-domain-type.patch" Content-Disposition: attachment; filename="v3-0001-IS-JSON-predicate-work-with-domain-type.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmod3xe90 RnJvbSBmMDU3Yjk0MzRlMGYwZjhkN2ZkOGY0Njg3NzY3NTliMzlkYjY3NTUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMTMgTWFyIDIwMjYgMTE6NTE6MjYgKzA4MDAKU3ViamVjdDogW1BBVENIIHYz IDEvMV0gSVMgSlNPTiBwcmVkaWNhdGUgd29yayB3aXRoIGRvbWFpbiB0eXBlCgpBbGxvdyBJUyBK U09OIHByZWRpY2F0ZSB0byB3b3JrIHdpdGggZG9tYWlucyBiYXNlZCBvbiB0eXBlIFRFWFQsIEpT T04sIEpTT05CLAphbmQgQllURUEuCgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NB Q0p1ZnhFazM0RG5KRkc3MkNSc1BQVDR0c0pMOWFyb2JYMHROUHNuN3lIMjhKPXpRZ0BtYWlsLmdt YWlsLmNvbQpDb21taXRmZXN0OiBodHRwczovL2NvbW1pdGZlc3QucG9zdGdyZXNxbC5vcmcvcGF0 Y2gvNjIzNwotLS0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHBySW50ZXJwLmMgfCAgIDkg Ky0KIHNyYy9iYWNrZW5kL25vZGVzL21ha2VmdW5jcy5jICAgICAgICAgfCAgIDMgKy0KIHNyYy9i YWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgfCAgIDggKy0KIHNyYy9iYWNrZW5kL3Bh cnNlci9wYXJzZV9leHByLmMgICAgICAgfCAgIDcgKy0KIHNyYy9pbmNsdWRlL25vZGVzL21ha2Vm dW5jcy5oICAgICAgICAgfCAgIDIgKy0KIHNyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oICAg ICAgICAgfCAgIDEgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zcWxqc29uLm91dCB8IDE5 MCArKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3FsanNv bi5zcWwgICAgICB8ICA4MiArKysrKysrKysrKwogOCBmaWxlcyBjaGFuZ2VkLCAyODcgaW5zZXJ0 aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0 b3IvZXhlY0V4cHJJbnRlcnAuYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHBySW50ZXJw LmMKaW5kZXggNjFmZjVkZGM3NGMuLjM0YmIyYjY2OTBhIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9leGVjdXRvci9leGVjRXhwckludGVycC5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4 ZWNFeHBySW50ZXJwLmMKQEAgLTQ3NDAsNyArNDc0MCw2IEBAIEV4ZWNFdmFsSnNvbklzUHJlZGlj YXRlKEV4cHJTdGF0ZSAqc3RhdGUsIEV4cHJFdmFsU3RlcCAqb3ApCiB7CiAJSnNvbklzUHJlZGlj YXRlICpwcmVkID0gb3AtPmQuaXNfanNvbi5wcmVkOwogCURhdHVtCQlqcyA9ICpvcC0+cmVzdmFs dWU7Ci0JT2lkCQkJZXhwcnR5cGU7CiAJYm9vbAkJcmVzOwogCiAJaWYgKCpvcC0+cmVzbnVsbCkK QEAgLTQ3NDksOSArNDc0OCw3IEBAIEV4ZWNFdmFsSnNvbklzUHJlZGljYXRlKEV4cHJTdGF0ZSAq c3RhdGUsIEV4cHJFdmFsU3RlcCAqb3ApCiAJCXJldHVybjsKIAl9CiAKLQlleHBydHlwZSA9IGV4 cHJUeXBlKHByZWQtPmV4cHIpOwotCi0JaWYgKGV4cHJ0eXBlID09IFRFWFRPSUQgfHwgZXhwcnR5 cGUgPT0gSlNPTk9JRCkKKwlpZiAocHJlZC0+cmVzdWx0QmFzZVR5cGUgPT0gVEVYVE9JRCB8fCBw cmVkLT5yZXN1bHRCYXNlVHlwZSA9PSBKU09OT0lEKQogCXsKIAkJdGV4dAkgICAqanNvbiA9IERh dHVtR2V0VGV4dFAoanMpOwogCkBAIC00Nzg0LDEwICs0NzgxLDEwIEBAIEV4ZWNFdmFsSnNvbklz UHJlZGljYXRlKEV4cHJTdGF0ZSAqc3RhdGUsIEV4cHJFdmFsU3RlcCAqb3ApCiAJCSAqIERvIGZ1 bGwgcGFyc2luZyBwYXNzIG9ubHkgZm9yIHVuaXF1ZW5lc3MgY2hlY2sgb3IgZm9yIEpTT04gdGV4 dAogCQkgKiB2YWxpZGF0aW9uLgogCQkgKi8KLQkJaWYgKHJlcyAmJiAocHJlZC0+dW5pcXVlX2tl eXMgfHwgZXhwcnR5cGUgPT0gVEVYVE9JRCkpCisJCWlmIChyZXMgJiYgKHByZWQtPnVuaXF1ZV9r ZXlzIHx8IHByZWQtPnJlc3VsdEJhc2VUeXBlID09IFRFWFRPSUQpKQogCQkJcmVzID0ganNvbl92 YWxpZGF0ZShqc29uLCBwcmVkLT51bmlxdWVfa2V5cywgZmFsc2UpOwogCX0KLQllbHNlIGlmIChl eHBydHlwZSA9PSBKU09OQk9JRCkKKwllbHNlIGlmIChwcmVkLT5yZXN1bHRCYXNlVHlwZSA9PSBK U09OQk9JRCkKIAl7CiAJCWlmIChwcmVkLT5pdGVtX3R5cGUgPT0gSlNfVFlQRV9BTlkpCiAJCQly ZXMgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbm9kZXMvbWFrZWZ1bmNzLmMgYi9z cmMvYmFja2VuZC9ub2Rlcy9tYWtlZnVuY3MuYwppbmRleCAyY2FlYzYyMWQ3My4uYWRjMmYwYzhk YzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL25vZGVzL21ha2VmdW5jcy5jCisrKyBiL3NyYy9i YWNrZW5kL25vZGVzL21ha2VmdW5jcy5jCkBAIC05ODQsNyArOTg0LDcgQEAgbWFrZUpzb25LZXlW YWx1ZShOb2RlICprZXksIE5vZGUgKnZhbHVlKQogICovCiBOb2RlICoKIG1ha2VKc29uSXNQcmVk aWNhdGUoTm9kZSAqZXhwciwgSnNvbkZvcm1hdCAqZm9ybWF0LCBKc29uVmFsdWVUeXBlIGl0ZW1f dHlwZSwKLQkJCQkJYm9vbCB1bmlxdWVfa2V5cywgaW50IGxvY2F0aW9uKQorCQkJCQlib29sIHVu aXF1ZV9rZXlzLCBPaWQgcmVzdWx0QmFzZVR5cGUsIGludCBsb2NhdGlvbikKIHsKIAlKc29uSXNQ cmVkaWNhdGUgKm4gPSBtYWtlTm9kZShKc29uSXNQcmVkaWNhdGUpOwogCkBAIC05OTIsNiArOTky LDcgQEAgbWFrZUpzb25Jc1ByZWRpY2F0ZShOb2RlICpleHByLCBKc29uRm9ybWF0ICpmb3JtYXQs IEpzb25WYWx1ZVR5cGUgaXRlbV90eXBlLAogCW4tPmZvcm1hdCA9IGZvcm1hdDsKIAluLT5pdGVt X3R5cGUgPSBpdGVtX3R5cGU7CiAJbi0+dW5pcXVlX2tleXMgPSB1bmlxdWVfa2V5czsKKwluLT5y ZXN1bHRCYXNlVHlwZSA9IHJlc3VsdEJhc2VUeXBlOwogCW4tPmxvY2F0aW9uID0gbG9jYXRpb247 CiAKIAlyZXR1cm4gKE5vZGUgKikgbjsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9n cmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4IGYwMWY1NzM0ZmU5Li4wZmU0 Y2EwODFhNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMv YmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC0xNTcwMCw3ICsxNTcwMCw3IEBAIGFfZXhwcjoJCWNf ZXhwcgkJCQkJCQkJCXsgJCQgPSAkMTsgfQogCQkJCXsKIAkJCQkJSnNvbkZvcm1hdCAqZm9ybWF0 ID0gbWFrZUpzb25Gb3JtYXQoSlNfRk9STUFUX0RFRkFVTFQsIEpTX0VOQ19ERUZBVUxULCAtMSk7 CiAKLQkJCQkJJCQgPSBtYWtlSnNvbklzUHJlZGljYXRlKCQxLCBmb3JtYXQsICQzLCAkNCwgQDEp OworCQkJCQkkJCA9IG1ha2VKc29uSXNQcmVkaWNhdGUoJDEsIGZvcm1hdCwgJDMsICQ0LCBJbnZh bGlkT2lkLCBAMSk7CiAJCQkJfQogCQkJLyoKIAkJCSAqIFJlcXVpcmVkIGJ5IFNRTC9KU09OLCBi dXQgdGhlcmUgYXJlIGNvbmZsaWN0cwpAQCAtMTU3MDksNyArMTU3MDksNyBAQCBhX2V4cHI6CQlj X2V4cHIJCQkJCQkJCQl7ICQkID0gJDE7IH0KIAkJCQlJUyAganNvbl9wcmVkaWNhdGVfdHlwZV9j b25zdHJhaW50CiAJCQkJCWpzb25fa2V5X3VuaXF1ZW5lc3NfY29uc3RyYWludF9vcHQJCSVwcmVj IElTCiAJCQkJewotCQkJCQkkJCA9IG1ha2VKc29uSXNQcmVkaWNhdGUoJDEsICQyLCAkNCwgJDUs IEAxKTsKKwkJCQkJJCQgPSBtYWtlSnNvbklzUHJlZGljYXRlKCQxLCAkMiwgJDQsICQ1LCBJbnZh bGlkT2lkLCBAMSk7CiAJCQkJfQogCQkJKi8KIAkJCXwgYV9leHByIElTIE5PVApAQCAtMTU3MTgs NyArMTU3MTgsNyBAQCBhX2V4cHI6CQljX2V4cHIJCQkJCQkJCQl7ICQkID0gJDE7IH0KIAkJCQl7 CiAJCQkJCUpzb25Gb3JtYXQgKmZvcm1hdCA9IG1ha2VKc29uRm9ybWF0KEpTX0ZPUk1BVF9ERUZB VUxULCBKU19FTkNfREVGQVVMVCwgLTEpOwogCi0JCQkJCSQkID0gbWFrZU5vdEV4cHIobWFrZUpz b25Jc1ByZWRpY2F0ZSgkMSwgZm9ybWF0LCAkNCwgJDUsIEAxKSwgQDEpOworCQkJCQkkJCA9IG1h a2VOb3RFeHByKG1ha2VKc29uSXNQcmVkaWNhdGUoJDEsIGZvcm1hdCwgJDQsICQ1LCBJbnZhbGlk T2lkLCBAMSksIEAxKTsKIAkJCQl9CiAJCQkvKgogCQkJICogUmVxdWlyZWQgYnkgU1FML0pTT04s IGJ1dCB0aGVyZSBhcmUgY29uZmxpY3RzCkBAIC0xNTcyOCw3ICsxNTcyOCw3IEBAIGFfZXhwcjoJ CWNfZXhwcgkJCQkJCQkJCXsgJCQgPSAkMTsgfQogCQkJCQlqc29uX3ByZWRpY2F0ZV90eXBlX2Nv bnN0cmFpbnQKIAkJCQkJanNvbl9rZXlfdW5pcXVlbmVzc19jb25zdHJhaW50X29wdAkJJXByZWMg SVMKIAkJCQl7Ci0JCQkJCSQkID0gbWFrZU5vdEV4cHIobWFrZUpzb25Jc1ByZWRpY2F0ZSgkMSwg JDIsICQ1LCAkNiwgQDEpLCBAMSk7CisJCQkJCSQkID0gbWFrZU5vdEV4cHIobWFrZUpzb25Jc1By ZWRpY2F0ZSgkMSwgJDIsICQ1LCAkNiwgSW52YWxpZE9pZCwgQDEpLCBAMSk7CiAJCQkJfQogCQkJ Ki8KIAkJCXwgREVGQVVMVApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4 cHIuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMKaW5kZXggOTY5OTFjYWU3NjQu LjI1NzFlZjA2MDYyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5j CisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMKQEAgLTQwNjYsNyArNDA2Niw3 IEBAIHRyYW5zZm9ybUpzb25QYXJzZUFyZyhQYXJzZVN0YXRlICpwc3RhdGUsIE5vZGUgKmpzZXhw ciwgSnNvbkZvcm1hdCAqZm9ybWF0LAogCU5vZGUJICAgKnJhd19leHByID0gdHJhbnNmb3JtRXhw clJlY3Vyc2UocHN0YXRlLCBqc2V4cHIpOwogCU5vZGUJICAgKmV4cHIgPSByYXdfZXhwcjsKIAot CSpleHBydHlwZSA9IGV4cHJUeXBlKGV4cHIpOworCSpleHBydHlwZSA9IGdldEJhc2VUeXBlKGV4 cHJUeXBlKGV4cHIpKTsKIAogCS8qIHByZXBhcmUgaW5wdXQgZG9jdW1lbnQgKi8KIAlpZiAoKmV4 cHJ0eXBlID09IEJZVEVBT0lEKQpAQCAtNDEyMSwxMSArNDEyMSwxMiBAQCB0cmFuc2Zvcm1Kc29u SXNQcmVkaWNhdGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBKc29uSXNQcmVkaWNhdGUgKnByZWQpCiAJ CWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCks CiAJCQkJIGVycm1zZygiY2Fubm90IHVzZSB0eXBlICVzIGluIElTIEpTT04gcHJlZGljYXRlIiwK LQkJCQkJCWZvcm1hdF90eXBlX2JlKGV4cHJ0eXBlKSkpKTsKKwkJCQkJCWZvcm1hdF90eXBlX2Jl KGV4cHJ0eXBlKSkpLAorCQkJCXBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIGV4cHJMb2NhdGlv bihleHByKSkpOwogCiAJLyogVGhpcyBpbnRlbnRpb25hbGx5KD8pIGRyb3BzIHRoZSBmb3JtYXQg Y2xhdXNlLiAqLwogCXJldHVybiBtYWtlSnNvbklzUHJlZGljYXRlKGV4cHIsIE5VTEwsIHByZWQt Pml0ZW1fdHlwZSwKLQkJCQkJCQkgICBwcmVkLT51bmlxdWVfa2V5cywgcHJlZC0+bG9jYXRpb24p OworCQkJCQkJCSAgIHByZWQtPnVuaXF1ZV9rZXlzLCBleHBydHlwZSwgcHJlZC0+bG9jYXRpb24p OwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvbWFrZWZ1bmNzLmggYi9z cmMvaW5jbHVkZS9ub2Rlcy9tYWtlZnVuY3MuaAppbmRleCA5ODJlYzI1YWUxNC4uYmFlODE3OTNj NGIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL21ha2VmdW5jcy5oCisrKyBiL3NyYy9p bmNsdWRlL25vZGVzL21ha2VmdW5jcy5oCkBAIC0xMTcsNyArMTE3LDcgQEAgZXh0ZXJuIEpzb25W YWx1ZUV4cHIgKm1ha2VKc29uVmFsdWVFeHByKEV4cHIgKnJhd19leHByLCBFeHByICpmb3JtYXR0 ZWRfZXhwciwKIGV4dGVybiBOb2RlICptYWtlSnNvbktleVZhbHVlKE5vZGUgKmtleSwgTm9kZSAq dmFsdWUpOwogZXh0ZXJuIE5vZGUgKm1ha2VKc29uSXNQcmVkaWNhdGUoTm9kZSAqZXhwciwgSnNv bkZvcm1hdCAqZm9ybWF0LAogCQkJCQkJCQkgSnNvblZhbHVlVHlwZSBpdGVtX3R5cGUsIGJvb2wg dW5pcXVlX2tleXMsCi0JCQkJCQkJCSBpbnQgbG9jYXRpb24pOworCQkJCQkJCQkgT2lkIHJlc3Vs dEJhc2VUeXBlLCBpbnQgbG9jYXRpb24pOwogZXh0ZXJuIEpzb25CZWhhdmlvciAqbWFrZUpzb25C ZWhhdmlvcihKc29uQmVoYXZpb3JUeXBlIGJ0eXBlLCBOb2RlICpleHByLAogCQkJCQkJCQkJICBp bnQgbG9jYXRpb24pOwogZXh0ZXJuIEpzb25UYWJsZVBhdGggKm1ha2VKc29uVGFibGVQYXRoKENv bnN0ICpwYXRodmFsdWUsIGNoYXIgKnBhdGhuYW1lKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L25vZGVzL3ByaW1ub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmgKaW5kZXgg Mzg0ZGY1MGM4MGEuLjJkNjg4OGU0MTg4IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9w cmltbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaApAQCAtMTc2Miw2 ICsxNzYyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSnNvbklzUHJlZGljYXRlCiAJSnNvbkZvcm1hdCAq Zm9ybWF0OwkJCS8qIEZPUk1BVCBjbGF1c2UsIGlmIHNwZWNpZmllZCAqLwogCUpzb25WYWx1ZVR5 cGUgaXRlbV90eXBlOwkvKiBKU09OIGl0ZW0gdHlwZSAqLwogCWJvb2wJCXVuaXF1ZV9rZXlzOwkv KiBjaGVjayBrZXkgdW5pcXVlbmVzcz8gKi8KKwlPaWQJCQlyZXN1bHRCYXNlVHlwZTsJLyogYmFz ZSB0eXBlIG9mIHRoZSBzdWJqZWN0IGV4cHJlc3Npb24gKi8KIAlQYXJzZUxvYwlsb2NhdGlvbjsJ CS8qIHRva2VuIGxvY2F0aW9uLCBvciAtMSBpZiB1bmtub3duICovCiB9IEpzb25Jc1ByZWRpY2F0 ZTsKIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zcWxqc29uLm91dCBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3FsanNvbi5vdXQKaW5kZXggYzdiOWU1NzU0NDUu LjQ4ODc5NTE0NjliIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3NxbGpz b24ub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3FsanNvbi5vdXQKQEAgLTEx NDgsNiArMTE0OCw4MCBAQCBTRUxFQ1QgTlVMTDo6Ynl0ZWEgSVMgSlNPTjsKIAogU0VMRUNUIE5V TEw6OmludCBJUyBKU09OOwogRVJST1I6ICBjYW5ub3QgdXNlIHR5cGUgaW50ZWdlciBpbiBJUyBK U09OIHByZWRpY2F0ZQorTElORSAxOiBTRUxFQ1QgTlVMTDo6aW50IElTIEpTT047CisgICAgICAg ICAgICAgICBeCitDUkVBVEUgRE9NQUlOIGpkMSBBUyBqc29uIENIRUNLICgoVkFMVUUgLT4nYScp Ojp0ZXh0IDw+ICczJyk7CitDUkVBVEUgRE9NQUlOIGpkMiBBUyBqc29uYiBDSEVDSyAoKFZBTFVF IC0+J2EnKSA9ICcxJzo6anNvbmIpOworQ1JFQVRFIERPTUFJTiBqZDMgQVMgdGV4dCBDSEVDSyAo VkFMVUUgPD4gJ2EnKTsKK0NSRUFURSBET01BSU4gamQ0IEFTIGJ5dGVhIENIRUNLIChWQUxVRSA8 PiAnXHg2MScpOworQ1JFQVRFIERPTUFJTiBqZDUgQVMgZGF0ZSBDSEVDSyAoVkFMVUUgPD4gTlVM TCk7CitTRUxFQ1QgTlVMTDo6amQxIElTIEpTT047CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisg CisoMSByb3cpCisKK1NFTEVDVCBOVUxMOjpqZDEgSVMgTk9UIEpTT047CisgP2NvbHVtbj8gCist LS0tLS0tLS0tCisgCisoMSByb3cpCisKK1NFTEVDVCBOVUxMOjpqZDIgSVMgSlNPTjsKKyA/Y29s dW1uPyAKKy0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUIE5VTEw6OmpkMyBJUyBKU09O OworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitTRUxFQ1QgTlVMTDo6amQ0 IElTIEpTT047CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1NFTEVDVCBO VUxMOjpqZDQgSVMgTk9UIEpTT047CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisgCisoMSByb3cp CisKK1NFTEVDVCBOVUxMOjpqZDUgSVMgSlNPTjsgLS0gZXJyb3IKK0VSUk9SOiAgY2Fubm90IHVz ZSB0eXBlIGRhdGUgaW4gSVMgSlNPTiBwcmVkaWNhdGUKK0xJTkUgMTogU0VMRUNUIE5VTEw6Ompk NSBJUyBKU09OOworICAgICAgICAgICAgICAgXgorU0VMRUNUIE5VTEw6OmpkNSBJUyBKU09OIFdJ VEggVU5JUVVFIEtFWVM7IC0tIGVycm9yCitFUlJPUjogIGNhbm5vdCB1c2UgdHlwZSBkYXRlIGlu IElTIEpTT04gcHJlZGljYXRlCitMSU5FIDE6IFNFTEVDVCBOVUxMOjpqZDUgSVMgSlNPTiBXSVRI IFVOSVFVRSBLRVlTOworICAgICAgICAgICAgICAgXgorU0VMRUNUIGE6OmpkMiBJUyBKU09OIFdJ VEggVU5JUVVFIEtFWVMgYXMgY29sMSBGUk9NIChWQUxVRVMoJ3siYSI6IDEsICJhIjogMn0nKSkg cyhhKTsgLS0gZXJyb3IKK0VSUk9SOiAgdmFsdWUgZm9yIGRvbWFpbiBqZDIgdmlvbGF0ZXMgY2hl Y2sgY29uc3RyYWludCAiamQyX2NoZWNrIgorQ1JFQVRFIFZJRVcgZG9tYWluX2lzanNvbiBBUwor V0lUSCBjdGUoYSkgYXMgKFZBTFVFUygneyJhIjogMSwgImEiOiAyfScpKQorU0VMRUNUIAlhOjpq ZDEgSVMgSlNPTiBXSVRIIFVOSVFVRSBLRVlTIGFzIGpkMSwKKwkJYTo6amQzIElTIEpTT04gV0lU SCBVTklRVUUgS0VZUyBhcyBqZDMsCisJCWE6OmpkNCBJUyBKU09OIFdJVEggVU5JUVVFIEtFWVMg YXMgamQ0CitGUk9NIGN0ZTsKK1xzdiBkb21haW5faXNqc29uCitDUkVBVEUgT1IgUkVQTEFDRSBW SUVXIHB1YmxpYy5kb21haW5faXNqc29uIEFTCisgV0lUSCBjdGUoYSkgQVMgKAorICAgICAgICAg VkFMVUVTICgneyJhIjogMSwgImEiOiAyfSc6OnRleHQpCisgICAgICAgICkKKyBTRUxFQ1QgYTo6 amQxIElTIEpTT04gV0lUSCBVTklRVUUgS0VZUyBBUyBqZDEsCisgICAgYTo6amQzIElTIEpTT04g V0lUSCBVTklRVUUgS0VZUyBBUyBqZDMsCisgICAgYTo6amQ0IElTIEpTT04gV0lUSCBVTklRVUUg S0VZUyBBUyBqZDQKKyAgIEZST00gY3RlCitTRUxFQ1QgKiBGUk9NIGRvbWFpbl9pc2pzb247Cisg amQxIHwgamQzIHwgamQ0IAorLS0tLS0rLS0tLS0rLS0tLS0KKyBmICAgfCBmICAgfCBmCisoMSBy b3cpCisKIFNFTEVDVCAnJyBJUyBKU09OOwogID9jb2x1bW4/IAogLS0tLS0tLS0tLQpAQCAtMTIw Niw2ICsxMjgwLDM4IEBAIEZST00KICBbImEiLF0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBmICAgICAgIHwgdCAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAg ICB8IGYgICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgICAgICAgfCBmCiAoMTYgcm93cykK IAorU0VMRUNUCisJanMsCisJanMgSVMgSlNPTiAiSVMgSlNPTiIsCisJanMgSVMgTk9UIEpTT04g IklTIE5PVCBKU09OIiwKKwlqcyBJUyBKU09OIFZBTFVFICJJUyBWQUxVRSIsCisJanMgSVMgSlNP TiBPQkpFQ1QgIklTIE9CSkVDVCIsCisJanMgSVMgSlNPTiBBUlJBWSAiSVMgQVJSQVkiLAorCWpz IElTIEpTT04gU0NBTEFSICJJUyBTQ0FMQVIiLAorCWpzIElTIEpTT04gV0lUSE9VVCBVTklRVUUg S0VZUyAiV0lUSE9VVCBVTklRVUUiLAorCWpzIElTIEpTT04gV0lUSCBVTklRVUUgS0VZUyAiV0lU SCBVTklRVUUiCitGUk9NCisJKFNFTEVDVCBqczo6amQzIEZST00gdGVzdF9pc19qc29uICkgZm9v KGpzKTsKKyAgICAgICAgICAgICAgICAgICAgICBqcyAgICAgICAgICAgICAgICAgICAgICAgfCBJ UyBKU09OIHwgSVMgTk9UIEpTT04gfCBJUyBWQUxVRSB8IElTIE9CSkVDVCB8IElTIEFSUkFZIHwg SVMgU0NBTEFSIHwgV0lUSE9VVCBVTklRVUUgfCBXSVRIIFVOSVFVRSAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAg ICB8ICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgfCAKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmICAgICAgIHwgdCAgICAgICAg ICAgfCBmICAgICAgICB8IGYgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAg ICAgICAgICAgfCBmCisgMTIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgdCAgICAgICB8IGYgICAgICAgICAgIHwgdCAgICAgICAgfCBmICAgICAgICAgfCBmICAg ICAgICB8IHQgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgdAorICJhYWEgIiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQg ICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgfCB0ICAgICAgICAgICAg ICB8IHQKKyB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0 ICAgICAgIHwgZiAgICAgICAgICAgfCB0ICAgICAgICB8IGYgICAgICAgICB8IGYgICAgICAgIHwg dCAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCB0CisgbnVsbCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgICAgIHwgdCAgICAgICAg fCBmICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgdAor IFtdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAg fCBmICAgICAgICAgICB8IHQgICAgICAgIHwgZiAgICAgICAgIHwgdCAgICAgICAgfCBmICAgICAg ICAgfCB0ICAgICAgICAgICAgICB8IHQKKyBbMSwgIjIiLCB7fV0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgICAgfCB0ICAgICAgICB8IGYgICAg ICAgICB8IHQgICAgICAgIHwgZiAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCB0Cisge30gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICB8IGYgICAg ICAgICAgIHwgdCAgICAgICAgfCB0ICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICB8IHQg ICAgICAgICAgICAgIHwgdAorIHsgImEiOiAxLCAiYiI6IG51bGwgfSAgICAgICAgICAgICAgICAg ICAgICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgIHwg ZiAgICAgICAgfCBmICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQKKyB7ICJhIjogMSwgImEi OiBudWxsIH0gICAgICAgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgICAg fCB0ICAgICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgIHwgdCAgICAgICAg ICAgICAgfCBmCisgeyAiYSI6IDEsICJiIjogW3sgImEiOiAxIH0sIHsgImEiOiAyIH1dIH0gICAg IHwgdCAgICAgICB8IGYgICAgICAgICAgIHwgdCAgICAgICAgfCB0ICAgICAgICAgfCBmICAgICAg ICB8IGYgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgdAorIHsgImEiOiAxLCAiYiI6IFt7ICJh IjogMSwgImIiOiAwLCAiYSI6IDIgfV0gfSB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQgICAg ICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgfCB0ICAgICAgICAgICAgICB8 IGYKKyBhYWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmICAg ICAgIHwgdCAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICB8IGYgICAgICAgIHwgZiAg ICAgICAgIHwgZiAgICAgICAgICAgICAgfCBmCisge2E6MX0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICB8IHQgICAgICAgICAgIHwgZiAgICAgICAgfCBm ICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICB8IGYgICAgICAgICAgICAgIHwgZgorIFsi YSIsXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGYgICAgICAgfCB0 ICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAg fCBmICAgICAgICAgICAgICB8IGYKKygxNiByb3dzKQorCiBTRUxFQ1QKIAlqcywKIAlqcyBJUyBK U09OICJJUyBKU09OIiwKQEAgLTEyMzMsNiArMTMzOSwzMyBAQCBGUk9NCiAgeyAiYSI6IDEsICJi IjogW3sgImEiOiAxLCAiYiI6IDAsICJhIjogMiB9XSB9IHwgdCAgICAgICB8IGYgICAgICAgICAg IHwgdCAgICAgICAgfCB0ICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICB8IHQgICAgICAg ICAgICAgIHwgZgogKDExIHJvd3MpCiAKK1NFTEVDVAorCWpzLAorCWpzIElTIEpTT04gIklTIEpT T04iLAorCWpzIElTIE5PVCBKU09OICJJUyBOT1QgSlNPTiIsCisJanMgSVMgSlNPTiBWQUxVRSAi SVMgVkFMVUUiLAorCWpzIElTIEpTT04gT0JKRUNUICJJUyBPQkpFQ1QiLAorCWpzIElTIEpTT04g QVJSQVkgIklTIEFSUkFZIiwKKwlqcyBJUyBKU09OIFNDQUxBUiAiSVMgU0NBTEFSIiwKKwlqcyBJ UyBKU09OIFdJVEhPVVQgVU5JUVVFIEtFWVMgIldJVEhPVVQgVU5JUVVFIiwKKwlqcyBJUyBKU09O IFdJVEggVU5JUVVFIEtFWVMgIldJVEggVU5JUVVFIgorRlJPTQorCShTRUxFQ1QganM6OmpkMSBG Uk9NIHRlc3RfaXNfanNvbiBXSEVSRSBqcyBJUyBKU09OKSBmb28oanMpOworICAgICAgICAgICAg ICAgICAgICAgIGpzICAgICAgICAgICAgICAgICAgICAgICB8IElTIEpTT04gfCBJUyBOT1QgSlNP TiB8IElTIFZBTFVFIHwgSVMgT0JKRUNUIHwgSVMgQVJSQVkgfCBJUyBTQ0FMQVIgfCBXSVRIT1VU IFVOSVFVRSB8IFdJVEggVU5JUVVFIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LQorIDEyMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAg ICAgfCBmICAgICAgICAgICB8IHQgICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCB0ICAg ICAgICAgfCB0ICAgICAgICAgICAgICB8IHQKKyAiYWFhICIgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgICAgfCB0ICAgICAgICB8IGYg ICAgICAgICB8IGYgICAgICAgIHwgdCAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCB0CisgdHJ1 ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICB8IGYg ICAgICAgICAgIHwgdCAgICAgICAgfCBmICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICB8 IHQgICAgICAgICAgICAgIHwgdAorIG51bGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAgIHwgZiAgICAgICAg IHwgZiAgICAgICAgfCB0ICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQKKyBbXSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAg ICAgfCB0ICAgICAgICB8IGYgICAgICAgICB8IHQgICAgICAgIHwgZiAgICAgICAgIHwgdCAgICAg ICAgICAgICAgfCB0CisgWzEsICIyIiwge31dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgdCAgICAgICB8IGYgICAgICAgICAgIHwgdCAgICAgICAgfCBmICAgICAgICAgfCB0ICAg ICAgICB8IGYgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgdAorIHt9ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQg ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgfCB0ICAgICAgICAgICAg ICB8IHQKKyB7ICJhIjogMSwgImIiOiBudWxsIH0gICAgICAgICAgICAgICAgICAgICAgICAgfCB0 ICAgICAgIHwgZiAgICAgICAgICAgfCB0ICAgICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwg ZiAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCB0CisgeyAiYSI6IDEsICJhIjogbnVsbCB9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgICAgIHwgdCAgICAgICAg fCB0ICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgZgor IHsgImEiOiAxLCAiYiI6IFt7ICJhIjogMSB9LCB7ICJhIjogMiB9XSB9ICAgICB8IHQgICAgICAg fCBmICAgICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAg ICAgfCB0ICAgICAgICAgICAgICB8IHQKKyB7ICJhIjogMSwgImIiOiBbeyAiYSI6IDEsICJiIjog MCwgImEiOiAyIH1dIH0gfCB0ICAgICAgIHwgZiAgICAgICAgICAgfCB0ICAgICAgICB8IHQgICAg ICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmCisoMTEgcm93 cykKKwogU0VMRUNUCiAJanMwLAogCWpzIElTIEpTT04gIklTIEpTT04iLApAQCAtMTI2MCw2ICsx MzkzLDMzIEBAIEZST00KICB7ICJhIjogMSwgImIiOiBbeyAiYSI6IDEsICJiIjogMCwgImEiOiAy IH1dIH0gfCB0ICAgICAgIHwgZiAgICAgICAgICAgfCB0ICAgICAgICB8IHQgICAgICAgICB8IGYg ICAgICAgIHwgZiAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmCiAoMTEgcm93cykKIAorU0VM RUNUCisJanMwLAorCWpzIElTIEpTT04gIklTIEpTT04iLAorCWpzIElTIE5PVCBKU09OICJJUyBO T1QgSlNPTiIsCisJanMgSVMgSlNPTiBWQUxVRSAiSVMgVkFMVUUiLAorCWpzIElTIEpTT04gT0JK RUNUICJJUyBPQkpFQ1QiLAorCWpzIElTIEpTT04gQVJSQVkgIklTIEFSUkFZIiwKKwlqcyBJUyBK U09OIFNDQUxBUiAiSVMgU0NBTEFSIiwKKwlqcyBJUyBKU09OIFdJVEhPVVQgVU5JUVVFIEtFWVMg IldJVEhPVVQgVU5JUVVFIiwKKwlqcyBJUyBKU09OIFdJVEggVU5JUVVFIEtFWVMgIldJVEggVU5J UVVFIgorRlJPTQorCShTRUxFQ1QganMsIGpzOjpqZDQgRlJPTSB0ZXN0X2lzX2pzb24gV0hFUkUg anMgSVMgSlNPTikgZm9vKGpzMCwganMpOworICAgICAgICAgICAgICAgICAgICAgIGpzMCAgICAg ICAgICAgICAgICAgICAgICB8IElTIEpTT04gfCBJUyBOT1QgSlNPTiB8IElTIFZBTFVFIHwgSVMg T0JKRUNUIHwgSVMgQVJSQVkgfCBJUyBTQ0FMQVIgfCBXSVRIT1VUIFVOSVFVRSB8IFdJVEggVU5J UVVFIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIDEyMyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8 IHQgICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgfCB0ICAgICAgICAg ICAgICB8IHQKKyAiYWFhICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCB0ICAgICAgIHwgZiAgICAgICAgICAgfCB0ICAgICAgICB8IGYgICAgICAgICB8IGYgICAgICAg IHwgdCAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCB0CisgdHJ1ZSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgICAgIHwgdCAgICAg ICAgfCBmICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICB8IHQgICAgICAgICAgICAgIHwg dAorIG51bGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAg ICAgfCBmICAgICAgICAgICB8IHQgICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCB0ICAg ICAgICAgfCB0ICAgICAgICAgICAgICB8IHQKKyBbXSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgICAgfCB0ICAgICAgICB8IGYg ICAgICAgICB8IHQgICAgICAgIHwgZiAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCB0CisgWzEs ICIyIiwge31dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICB8IGYg ICAgICAgICAgIHwgdCAgICAgICAgfCBmICAgICAgICAgfCB0ICAgICAgICB8IGYgICAgICAgICB8 IHQgICAgICAgICAgICAgIHwgdAorIHt9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAg IHwgZiAgICAgICAgfCBmICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQKKyB7ICJhIjogMSwg ImIiOiBudWxsIH0gICAgICAgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAg ICAgfCB0ICAgICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgIHwgdCAgICAg ICAgICAgICAgfCB0CisgeyAiYSI6IDEsICJhIjogbnVsbCB9ICAgICAgICAgICAgICAgICAgICAg ICAgIHwgdCAgICAgICB8IGYgICAgICAgICAgIHwgdCAgICAgICAgfCB0ICAgICAgICAgfCBmICAg ICAgICB8IGYgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgZgorIHsgImEiOiAxLCAiYiI6IFt7 ICJhIjogMSB9LCB7ICJhIjogMiB9XSB9ICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQg ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgfCB0ICAgICAgICAgICAg ICB8IHQKKyB7ICJhIjogMSwgImIiOiBbeyAiYSI6IDEsICJiIjogMCwgImEiOiAyIH1dIH0gfCB0 ICAgICAgIHwgZiAgICAgICAgICAgfCB0ICAgICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwg ZiAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmCisoMTEgcm93cykKKwogU0VMRUNUCiAJanMs CiAJanMgSVMgSlNPTiAiSVMgSlNPTiIsCkBAIC0xMjg3LDYgKzE0NDcsMzYgQEAgRlJPTQogIHsi YSI6IDEsICJiIjogW3siYSI6IDIsICJiIjogMH1dfSAgIHwgdCAgICAgICB8IGYgICAgICAgICAg IHwgdCAgICAgICAgfCB0ICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICB8IHQgICAgICAg ICAgICAgIHwgdAogKDExIHJvd3MpCiAKK1NFTEVDVCBqczo6amQyIEZST00gdGVzdF9pc19qc29u IFdIRVJFIGpzIElTIEpTT047IC0tIGVycm9yCitFUlJPUjogIHZhbHVlIGZvciBkb21haW4gamQy IHZpb2xhdGVzIGNoZWNrIGNvbnN0cmFpbnQgImpkMl9jaGVjayIKK0FMVEVSIERPTUFJTiBqZDIg RFJPUCBDT05TVFJBSU5UIGpkMl9jaGVjazsKK1NFTEVDVAorCWpzLAorCWpzIElTIEpTT04gIklT IEpTT04iLAorCWpzIElTIE5PVCBKU09OICJJUyBOT1QgSlNPTiIsCisJanMgSVMgSlNPTiBWQUxV RSAiSVMgVkFMVUUiLAorCWpzIElTIEpTT04gT0JKRUNUICJJUyBPQkpFQ1QiLAorCWpzIElTIEpT T04gQVJSQVkgIklTIEFSUkFZIiwKKwlqcyBJUyBKU09OIFNDQUxBUiAiSVMgU0NBTEFSIiwKKwlq cyBJUyBKU09OIFdJVEhPVVQgVU5JUVVFIEtFWVMgIldJVEhPVVQgVU5JUVVFIiwKKwlqcyBJUyBK U09OIFdJVEggVU5JUVVFIEtFWVMgIldJVEggVU5JUVVFIgorRlJPTQorCShTRUxFQ1QganM6Ompk MiBGUk9NIHRlc3RfaXNfanNvbiBXSEVSRSBqcyBJUyBKU09OKSBmb28oanMpOworICAgICAgICAg ICAgICAgICBqcyAgICAgICAgICAgICAgICAgIHwgSVMgSlNPTiB8IElTIE5PVCBKU09OIHwgSVMg VkFMVUUgfCBJUyBPQkpFQ1QgfCBJUyBBUlJBWSB8IElTIFNDQUxBUiB8IFdJVEhPVVQgVU5JUVVF IHwgV0lUSCBVTklRVUUgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyAxMjMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAg IHwgZiAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQK KyAiYWFhICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAg ICAgICB8IHQgICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgfCB0ICAg ICAgICAgICAgICB8IHQKKyB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQg ICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCB0 ICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQKKyBudWxsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAgIHwgZiAgICAgICAg IHwgZiAgICAgICAgfCB0ICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQKKyBbXSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQgICAg ICAgIHwgZiAgICAgICAgIHwgdCAgICAgICAgfCBmICAgICAgICAgfCB0ICAgICAgICAgICAgICB8 IHQKKyBbMSwgIjIiLCB7fV0gICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgfCBmICAg ICAgICAgICB8IHQgICAgICAgIHwgZiAgICAgICAgIHwgdCAgICAgICAgfCBmICAgICAgICAgfCB0 ICAgICAgICAgICAgICB8IHQKKyB7fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IHQgICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAg fCBmICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQKKyB7ImEiOiAxLCAiYiI6IG51bGx9ICAg ICAgICAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAgIHwgdCAgICAg ICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQKKyB7ImEiOiBu dWxsfSAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQg ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgfCB0ICAgICAgICAgICAg ICB8IHQKKyB7ImEiOiAxLCAiYiI6IFt7ImEiOiAxfSwgeyJhIjogMn1dfSB8IHQgICAgICAgfCBm ICAgICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAg fCB0ICAgICAgICAgICAgICB8IHQKKyB7ImEiOiAxLCAiYiI6IFt7ImEiOiAyLCAiYiI6IDB9XX0g ICB8IHQgICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAg ICAgfCBmICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQKKygxMSByb3dzKQorCiAtLSBUZXN0 IElTIEpTT04gZGVwYXJzaW5nCiBFWFBMQUlOIChWRVJCT1NFLCBDT1NUUyBPRkYpCiBTRUxFQ1Qg JzEnIElTIEpTT04gQVMgImFueSIsICgnMScgfHwgaSkgSVMgSlNPTiBTQ0FMQVIgQVMgInNjYWxh ciIsICdbXScgSVMgTk9UIEpTT04gQVJSQVkgQVMgImFycmF5IiwgJ3t9JyBJUyBKU09OIE9CSkVD VCBXSVRIIFVOSVFVRSBBUyAib2JqZWN0IiBGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAzKSBpOwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3FsanNvbi5zcWwgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9zcWxqc29uLnNxbAppbmRleCAzNDNkMzQ0ZDI3MC4uYmQ1Y2U1M2YyNzIgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3NxbGpzb24uc3FsCisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3NxbGpzb24uc3FsCkBAIC0zOTUsNiArMzk1LDMzIEBAIFNFTEVDVCBOVUxM Ojp0ZXh0IElTIEpTT047CiBTRUxFQ1QgTlVMTDo6Ynl0ZWEgSVMgSlNPTjsKIFNFTEVDVCBOVUxM OjppbnQgSVMgSlNPTjsKIAorQ1JFQVRFIERPTUFJTiBqZDEgQVMganNvbiBDSEVDSyAoKFZBTFVF IC0+J2EnKTo6dGV4dCA8PiAnMycpOworQ1JFQVRFIERPTUFJTiBqZDIgQVMganNvbmIgQ0hFQ0sg KChWQUxVRSAtPidhJykgPSAnMSc6Ompzb25iKTsKK0NSRUFURSBET01BSU4gamQzIEFTIHRleHQg Q0hFQ0sgKFZBTFVFIDw+ICdhJyk7CitDUkVBVEUgRE9NQUlOIGpkNCBBUyBieXRlYSBDSEVDSyAo VkFMVUUgPD4gJ1x4NjEnKTsKK0NSRUFURSBET01BSU4gamQ1IEFTIGRhdGUgQ0hFQ0sgKFZBTFVF IDw+IE5VTEwpOworCitTRUxFQ1QgTlVMTDo6amQxIElTIEpTT047CitTRUxFQ1QgTlVMTDo6amQx IElTIE5PVCBKU09OOworU0VMRUNUIE5VTEw6OmpkMiBJUyBKU09OOworU0VMRUNUIE5VTEw6Ompk MyBJUyBKU09OOworU0VMRUNUIE5VTEw6OmpkNCBJUyBKU09OOworU0VMRUNUIE5VTEw6OmpkNCBJ UyBOT1QgSlNPTjsKK1NFTEVDVCBOVUxMOjpqZDUgSVMgSlNPTjsgLS0gZXJyb3IKK1NFTEVDVCBO VUxMOjpqZDUgSVMgSlNPTiBXSVRIIFVOSVFVRSBLRVlTOyAtLSBlcnJvcgorCitTRUxFQ1QgYTo6 amQyIElTIEpTT04gV0lUSCBVTklRVUUgS0VZUyBhcyBjb2wxIEZST00gKFZBTFVFUygneyJhIjog MSwgImEiOiAyfScpKSBzKGEpOyAtLSBlcnJvcgorCitDUkVBVEUgVklFVyBkb21haW5faXNqc29u IEFTCitXSVRIIGN0ZShhKSBhcyAoVkFMVUVTKCd7ImEiOiAxLCAiYSI6IDJ9JykpCitTRUxFQ1Qg CWE6OmpkMSBJUyBKU09OIFdJVEggVU5JUVVFIEtFWVMgYXMgamQxLAorCQlhOjpqZDMgSVMgSlNP TiBXSVRIIFVOSVFVRSBLRVlTIGFzIGpkMywKKwkJYTo6amQ0IElTIEpTT04gV0lUSCBVTklRVUUg S0VZUyBhcyBqZDQKK0ZST00gY3RlOworCitcc3YgZG9tYWluX2lzanNvbgorU0VMRUNUICogRlJP TSBkb21haW5faXNqc29uOworCiBTRUxFQ1QgJycgSVMgSlNPTjsKIAogU0VMRUNUIGJ5dGVhICdc eDAwJyBJUyBKU09OOwpAQCAtNDMyLDYgKzQ1OSwxOSBAQCBTRUxFQ1QKIEZST00KIAl0ZXN0X2lz X2pzb247CiAKK1NFTEVDVAorCWpzLAorCWpzIElTIEpTT04gIklTIEpTT04iLAorCWpzIElTIE5P VCBKU09OICJJUyBOT1QgSlNPTiIsCisJanMgSVMgSlNPTiBWQUxVRSAiSVMgVkFMVUUiLAorCWpz IElTIEpTT04gT0JKRUNUICJJUyBPQkpFQ1QiLAorCWpzIElTIEpTT04gQVJSQVkgIklTIEFSUkFZ IiwKKwlqcyBJUyBKU09OIFNDQUxBUiAiSVMgU0NBTEFSIiwKKwlqcyBJUyBKU09OIFdJVEhPVVQg VU5JUVVFIEtFWVMgIldJVEhPVVQgVU5JUVVFIiwKKwlqcyBJUyBKU09OIFdJVEggVU5JUVVFIEtF WVMgIldJVEggVU5JUVVFIgorRlJPTQorCShTRUxFQ1QganM6OmpkMyBGUk9NIHRlc3RfaXNfanNv biApIGZvbyhqcyk7CisKIFNFTEVDVAogCWpzLAogCWpzIElTIEpTT04gIklTIEpTT04iLApAQCAt NDQ1LDYgKzQ4NSwxOSBAQCBTRUxFQ1QKIEZST00KIAkoU0VMRUNUIGpzOjpqc29uIEZST00gdGVz dF9pc19qc29uIFdIRVJFIGpzIElTIEpTT04pIGZvbyhqcyk7CiAKK1NFTEVDVAorCWpzLAorCWpz IElTIEpTT04gIklTIEpTT04iLAorCWpzIElTIE5PVCBKU09OICJJUyBOT1QgSlNPTiIsCisJanMg SVMgSlNPTiBWQUxVRSAiSVMgVkFMVUUiLAorCWpzIElTIEpTT04gT0JKRUNUICJJUyBPQkpFQ1Qi LAorCWpzIElTIEpTT04gQVJSQVkgIklTIEFSUkFZIiwKKwlqcyBJUyBKU09OIFNDQUxBUiAiSVMg U0NBTEFSIiwKKwlqcyBJUyBKU09OIFdJVEhPVVQgVU5JUVVFIEtFWVMgIldJVEhPVVQgVU5JUVVF IiwKKwlqcyBJUyBKU09OIFdJVEggVU5JUVVFIEtFWVMgIldJVEggVU5JUVVFIgorRlJPTQorCShT RUxFQ1QganM6OmpkMSBGUk9NIHRlc3RfaXNfanNvbiBXSEVSRSBqcyBJUyBKU09OKSBmb28oanMp OworCiBTRUxFQ1QKIAlqczAsCiAJanMgSVMgSlNPTiAiSVMgSlNPTiIsCkBAIC00NTgsNiArNTEx LDE5IEBAIFNFTEVDVAogRlJPTQogCShTRUxFQ1QganMsIGpzOjpieXRlYSBGUk9NIHRlc3RfaXNf anNvbiBXSEVSRSBqcyBJUyBKU09OKSBmb28oanMwLCBqcyk7CiAKK1NFTEVDVAorCWpzMCwKKwlq cyBJUyBKU09OICJJUyBKU09OIiwKKwlqcyBJUyBOT1QgSlNPTiAiSVMgTk9UIEpTT04iLAorCWpz IElTIEpTT04gVkFMVUUgIklTIFZBTFVFIiwKKwlqcyBJUyBKU09OIE9CSkVDVCAiSVMgT0JKRUNU IiwKKwlqcyBJUyBKU09OIEFSUkFZICJJUyBBUlJBWSIsCisJanMgSVMgSlNPTiBTQ0FMQVIgIklT IFNDQUxBUiIsCisJanMgSVMgSlNPTiBXSVRIT1VUIFVOSVFVRSBLRVlTICJXSVRIT1VUIFVOSVFV RSIsCisJanMgSVMgSlNPTiBXSVRIIFVOSVFVRSBLRVlTICJXSVRIIFVOSVFVRSIKK0ZST00KKwko U0VMRUNUIGpzLCBqczo6amQ0IEZST00gdGVzdF9pc19qc29uIFdIRVJFIGpzIElTIEpTT04pIGZv byhqczAsIGpzKTsKKwogU0VMRUNUCiAJanMsCiAJanMgSVMgSlNPTiAiSVMgSlNPTiIsCkBAIC00 NzEsNiArNTM3LDIyIEBAIFNFTEVDVAogRlJPTQogCShTRUxFQ1QganM6Ompzb25iIEZST00gdGVz dF9pc19qc29uIFdIRVJFIGpzIElTIEpTT04pIGZvbyhqcyk7CiAKK1NFTEVDVCBqczo6amQyIEZS T00gdGVzdF9pc19qc29uIFdIRVJFIGpzIElTIEpTT047IC0tIGVycm9yCitBTFRFUiBET01BSU4g amQyIERST1AgQ09OU1RSQUlOVCBqZDJfY2hlY2s7CisKK1NFTEVDVAorCWpzLAorCWpzIElTIEpT T04gIklTIEpTT04iLAorCWpzIElTIE5PVCBKU09OICJJUyBOT1QgSlNPTiIsCisJanMgSVMgSlNP TiBWQUxVRSAiSVMgVkFMVUUiLAorCWpzIElTIEpTT04gT0JKRUNUICJJUyBPQkpFQ1QiLAorCWpz IElTIEpTT04gQVJSQVkgIklTIEFSUkFZIiwKKwlqcyBJUyBKU09OIFNDQUxBUiAiSVMgU0NBTEFS IiwKKwlqcyBJUyBKU09OIFdJVEhPVVQgVU5JUVVFIEtFWVMgIldJVEhPVVQgVU5JUVVFIiwKKwlq cyBJUyBKU09OIFdJVEggVU5JUVVFIEtFWVMgIldJVEggVU5JUVVFIgorRlJPTQorCShTRUxFQ1Qg anM6OmpkMiBGUk9NIHRlc3RfaXNfanNvbiBXSEVSRSBqcyBJUyBKU09OKSBmb28oanMpOworCiAt LSBUZXN0IElTIEpTT04gZGVwYXJzaW5nCiBFWFBMQUlOIChWRVJCT1NFLCBDT1NUUyBPRkYpCiBT RUxFQ1QgJzEnIElTIEpTT04gQVMgImFueSIsICgnMScgfHwgaSkgSVMgSlNPTiBTQ0FMQVIgQVMg InNjYWxhciIsICdbXScgSVMgTk9UIEpTT04gQVJSQVkgQVMgImFycmF5IiwgJ3t9JyBJUyBKU09O IE9CSkVDVCBXSVRIIFVOSVFVRSBBUyAib2JqZWN0IiBGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAz KSBpOwotLSAKMi4zNC4xCgo= --000000000000286179064cdfda00--