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.98.2) (envelope-from ) id 1x9uMu-00000002JmV-2V73 for pgsql-bugs@arkaria.postgresql.org; Fri, 25 Sep 2026 01:04:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.98.2) (envelope-from ) id 1x9uMt-0000000FZvv-3Wtk for pgsql-bugs@arkaria.postgresql.org; Fri, 25 Sep 2026 01:04:51 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1x9uMt-0000000FZvn-0e6c for pgsql-bugs@lists.postgresql.org; Fri, 25 Sep 2026 01:04:51 +0000 Received: from mail-ua2-x0e.google.com ([2a00:1450:4864:39::e]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1x9uMp-000000017QR-1Rz7 for pgsql-bugs@lists.postgresql.org; Fri, 25 Sep 2026 01:04:50 +0000 Received: by mail-ua2-x0e.google.com with SMTP id a1e0cc1a2514c-986de42918bso1031241.1 for ; Thu, 24 Sep 2026 18:04:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790298286; x=1790903086; darn=lists.postgresql.org; h=content-type:mime-version:references:in-reply-to:message-id:date :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to :content-type; bh=KH+hDvwTF9sPX7gzgck7DuS555VH6YdeqDrpYjE7SpU=; b=nkrXCXt7F2PKUZ5EmWm5aaFPqXNmrmao/aQmwfHunCyI8gXDtOqxE7Ubudwvjrm8DU a1jsVrnul+pqNvGfN9IGbQ6ctDj2miYuc+5/lYdysPgfHfjsivE7umxoneEVxSiYqkkB Pt+X3pbArxToNlgZ4vFFcyXaRCpolN4bTwClSrORVvLgJoH11NnqT0KO2y2ZOYPyjv9B Z2JGgumTDB3yyd3sSYxab7NzHVPsU6vn9SjOxgtIpBZhWSIN/8LxDkQb2hqZ13UT8PoW N1JaN+fTn8vkgNpUPzcEnTLF+p/vycLVZ2PeRZSDd38ffFAtlSXaDE/256LFsJ5D9lCF UPeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790298286; x=1790903086; h=content-type:mime-version:references:in-reply-to:message-id:date :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to:content-type; bh=KH+hDvwTF9sPX7gzgck7DuS555VH6YdeqDrpYjE7SpU=; b=Hg/tGEdLJ8nkF7A8UqB0puw5cB1nehnPUAopJaqldO1EiFe2FY0lwEPVGuVQ3qGGnV Nibr6hbzHbsYBI0U9GdQpZ3FOKfnuuQRQY+facGPYSuemg2Aa+GLuAOSdMVvo8VaYlfS ixaSplfcGrQJ2sA+XTVUyqV8HIeL3NJLiRREpgtNej6kr94UhmvJIG5YWNGKC4mOiXoe uGCvk29lImtghlpRD//GjF8gxzV4QeWCgrKmcW6fRyCe/kqr+ZyvQArdEWb1NQgmeEFi VZUy4DOlS4gugPMYCDd6randv95TSNModKeEIKV1ZO6q5lHKsjjimM23HwdixbvBtJZ+ sPog== X-Forwarded-Encrypted: i=1; AKwUvByD6ZUsiU7b+6IoBrGMmdKx7cHFaBPeKb7S6hFmU5Q7H2R0fE/D8LSw/Whi0GcFc2/eooX0rEBnmhiM@lists.postgresql.org X-Gm-Message-State: AFuF++mECvk892DGViUxjkQBih5tif9g+2jVbuT4T3gyFFFRrw1G68Vk NWUdF5cP6+eiSVXLeF9ZpBCONY7aBR3DZKShCRTJ20eN4PRqk6Rx7YX6 X-Gm-Gg: AYBFou3Hdr7buGsCauOap+hps3+cBq9GgVnzJJ0DgMIqXejS/3+LjkCwbgeUgPakz17 ////i4ybgu+jzx8POm9W2gZpDRrq8s8QTXAZFTyj2UGvLdZthM1QNyh1Cgmg/L21j0JeDk0q0Je 2NAwDgqRF73oTOdLznD0lLoisQcp4phfxaa+MazMkToSKNRWTNw8MbgBRuYi2685+NRrlBuDgUc 0FTPjzWQ5dZaAFy2kX4xuzPi/4FFFRqRiG8n6DwyCQAIaXdcK1aHtq2TKhxUsWvYJ7Yk9lmKZ1C yzHhX9N503NCOCtGsXSVmelMYum5QB1iKHkIqcbeQhe3FK+cDnWkIoreVn2TQ7IrH5O1BixwGkz /wK8OzMW9uFxeIDysEa5+cUj6JIPX43gOwVBHKHyNykKaNaBHMfSNeCZDLCGQuY26jJ1lRxFxDx Vdw/vPQBXLRPMRbDk4bcXiuM6fKKmfHtLCwl+wAtb9XE9HmCOCxJqehiSatH8UwZPWxTNmiMIhm 5ghmBAywBNgojWqavfr+WMb9ZbxEG24k0yGn7AWzDh0CLLzfjtNoJWNTLUw+egVIuT0LSKOGppd skHMT7PL1dXOrW+Y63Wf9Jk= X-Received: by 2002:ac5:c9a8:0:b0:5ca:7637:ba77 with SMTP id 71dfb90a1353d-5cc4baa98f4mr472949e0c.5.1790298286421; Thu, 24 Sep 2026 18:04:46 -0700 (PDT) Received: from 192.168.1.109 ([190.12.169.171]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-9861afbaa90sm913596241.3.2026.09.24.18.04.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Sep 2026 18:04:45 -0700 (PDT) From: Manu To: Michael Paquier Cc: jian he , Corey Huinker , imchifan@163.com, pgsql-bugs@lists.postgresql.org Subject: Re: BUG #19715: pg_restore_attribute_stats() rejects range statistics for a domain over int4multirange Date: Thu, 24 Sep 2026 22:04:41 -0300 Message-ID: <179029828172.110035.12127078526565339171@gmail.com> In-Reply-To: References: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1063123212765771881==" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============1063123212765771881== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Hi, Michael Paquier wrote: > I'd certainly welcome more eyes here. Please note that this applies > on HEAD cleanly, and should mostly apply cleanly on v19. It applies with git am on both master (2c10c2ce4d7) and REL_19_STABLE (2c5cd772b90), and make check passes on both. With only the test changes of v2 and not the C ones, stats_import fails on master with the expected warnings, so the new tests catch the bug. I also checked the path users hit, pg_dump --statistics-only into a database with the same schema, and compared every field of pg_stats and pg_stats_ext_exprs before and after. The table has 17 columns and the statistics object 8 expressions, the cases of the report plus a few beyond the ones in the tests: - a domain over a domain, for range, multirange and tsvector - a domain over int4range with a CHECK constraint - a domain over a range type with its own collation (text, "C") - expressions of those types, next to one over a domain over int4[] Results: - master: 15 warnings. Range stats are lost for 6 domain columns, including the nested, CHECK and collated ones, and MCELEM for the 2 tsvector domains. All 8 expressions lose all their stats. - master + v2: no warnings, all 25 identical after the restore. - REL_19_STABLE + v2: the same. - REL_18_STABLE (66d1de70c84): the same 8 columns fail as on master. I can run the same script on the v18 flavor when you post it. A domain over int4[] and an array of a domain over int4 already come through intact without the patch, in case that question comes up. One thing outside this bug, about why all 8 expressions were lost. import_expressions() stores a failed expression as NULL and keeps the others, per its comments, but extended_statistics_update() then drops the whole stxdexpr array when exprs_is_perfect is false. With one statistics object on the d_arr expression plus a domain-over-range one, master restores nothing for either; with the d_arr expression next to a plain one, it is restored. Is dropping all of them intended? I may be missing the reason. v2 removes the cause here, so this only matters for other rejections. The scripts and outputs are in the attachment. Regards, Manu --===============1063123212765771881== Content-Type: text/plain Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="nocfbot-19715-v2-roundtrip.txt" MIME-Version: 1.0 UmV2aWV3IG9mIHYyIGZvciBidWcgIzE5NzE1OiBzdGF0aXN0aWNzIHJvdW5kIHRyaXAgdGhyb3Vn aCBwZ19kdW1wCkJ1aWxkczogbWFzdGVyIDJjMTBjMmNlNGQ3LCBSRUxfMTlfU1RBQkxFIDJjNWNk NzcyYjkwLCBSRUxfMThfU1RBQkxFIDY2ZDFkZTcwYzg0CigtLWVuYWJsZS1jYXNzZXJ0IC0tZW5h YmxlLWRlYnVnKTsgdjIgYXBwbGllZCB3aXRoIGdpdCBhbSBvbiBtYXN0ZXIgYW5kIFJFTF8xOS4K CiI9PT09PSByb3VuZHRyaXBfc2V0dXAuc3FsID09PT09IgotLSBTb3VyY2UgZGF0YWJhc2UgZm9y IHRoZSBwZ19kdW1wIC0tc3RhdGlzdGljcyByb3VuZCB0cmlwLgotLSBPbmUgY29sdW1uIHBlciBj YXNlOiB0aGUgYmFzZSB0eXBlLCBhIGRvbWFpbiBvdmVyIGl0LCBhIGRvbWFpbiBvdmVyIHRoYXQK LS0gZG9tYWluLCBhbmQgYSBkb21haW4gd2l0aCBhIENIRUNLIGNvbnN0cmFpbnQsIGZvciBlYWNo IGtpbmQgb2Ygc3RhdGlzdGljcwotLSB0aGF0IGRlcGVuZHMgb24gdGhlIHR5cGUgKHJhbmdlLCBt dWx0aXJhbmdlLCB0c3ZlY3RvciwgYXJyYXkgZWxlbWVudHMpLgotLSBQbHVzIGFuIGFycmF5IG9m IGEgZG9tYWluLCBhIHJhbmdlIHdpdGggaXRzIG93biBjb2xsYXRpb24sIGFuZCBhIGRvbWFpbgot LSBvdmVyIGEgY29sbGF0YWJsZSB0eXBlLgoKQ1JFQVRFIERPTUFJTiBkX3IgICAgQVMgaW50NHJh bmdlOwpDUkVBVEUgRE9NQUlOIGRkX3IgICBBUyBkX3I7CkNSRUFURSBET01BSU4gZGNfciAgIEFT IGludDRyYW5nZSBDSEVDSyAoTk9UIGlzZW1wdHkoVkFMVUUpIE9SIFZBTFVFIElTIE5VTEwgT1Ig dHJ1ZSk7CkNSRUFURSBET01BSU4gZF9tciAgIEFTIGludDRtdWx0aXJhbmdlOwpDUkVBVEUgRE9N QUlOIGRkX21yICBBUyBkX21yOwpDUkVBVEUgRE9NQUlOIGRfdHN2ICBBUyB0c3ZlY3RvcjsKQ1JF QVRFIERPTUFJTiBkZF90c3YgQVMgZF90c3Y7CkNSRUFURSBET01BSU4gZF9hcnIgIEFTIGludDRb XTsKQ1JFQVRFIERPTUFJTiBkZF9hcnIgQVMgZF9hcnI7CkNSRUFURSBET01BSU4gZF9pbnQgIEFT IGludDQ7CkNSRUFURSBUWVBFICAgY3JhbmdlIEFTIFJBTkdFIChzdWJ0eXBlID0gdGV4dCwgY29s bGF0aW9uID0gIkMiKTsKQ1JFQVRFIERPTUFJTiBkX2NyYW5nZSBBUyBjcmFuZ2U7CkNSRUFURSBE T01BSU4gZF9jdGV4dCAgQVMgdGV4dCBDT0xMQVRFICJDIjsKCkNSRUFURSBUQUJMRSB0ICgKICBy ICAgICBpbnQ0cmFuZ2UsICBkciAgIGRfciwgICBkZHIgIGRkX3IsICBkY3IgZGNfciwKICBtciAg ICBpbnQ0bXVsdGlyYW5nZSwgZG1yIGRfbXIsIGRkbXIgZGRfbXIsCiAgdHN2ICAgdHN2ZWN0b3Is ICAgZHRzdiBkX3RzdiwgZGR0c3YgZGRfdHN2LAogIGFyciAgIGludDRbXSwgICAgIGRhcnIgZF9h cnIsIGRkYXJyIGRkX2FyciwKICBhcnJkICBkX2ludFtdLAogIGNyICAgIGNyYW5nZSwgICAgIGRj cmFuZ2UgZF9jcmFuZ2UsCiAgY3RleHQgZF9jdGV4dAopOwoKSU5TRVJUIElOVE8gdApTRUxFQ1Qg aW50NHJhbmdlKGcgJSA5NywgZyAlIDk3ICsgMSArIGcgJSAxMyksCiAgICAgICBpbnQ0cmFuZ2Uo ZyAlIDk3LCBnICUgOTcgKyAxICsgZyAlIDEzKSwKICAgICAgIGludDRyYW5nZShnICUgOTcsIGcg JSA5NyArIDEgKyBnICUgMTMpLAogICAgICAgQ0FTRSBXSEVOIGcgJSAxMCA9IDAgVEhFTiAnZW1w dHknOjppbnQ0cmFuZ2UgRUxTRSBpbnQ0cmFuZ2UoZyAlIDg5LCBnICUgODkgKyAzKSBFTkQsCiAg ICAgICBpbnQ0bXVsdGlyYW5nZShpbnQ0cmFuZ2UoZyAlIDUwLCBnICUgNTAgKyAyKSwgaW50NHJh bmdlKGcgJSA1MCArIDEwLCBnICUgNTAgKyAxNSkpLAogICAgICAgaW50NG11bHRpcmFuZ2UoaW50 NHJhbmdlKGcgJSA1MCwgZyAlIDUwICsgMiksIGludDRyYW5nZShnICUgNTAgKyAxMCwgZyAlIDUw ICsgMTUpKSwKICAgICAgIGludDRtdWx0aXJhbmdlKGludDRyYW5nZShnICUgNTAsIGcgJSA1MCAr IDIpLCBpbnQ0cmFuZ2UoZyAlIDUwICsgMTAsIGcgJSA1MCArIDE1KSksCiAgICAgICB0b190c3Zl Y3Rvcignc2ltcGxlJywgJ3cnIHx8IGcgJSA0MCB8fCAnIHcnIHx8IGcgJSA3IHx8ICcgeCcgfHwg ZyAlIDMpLAogICAgICAgdG9fdHN2ZWN0b3IoJ3NpbXBsZScsICd3JyB8fCBnICUgNDAgfHwgJyB3 JyB8fCBnICUgNyB8fCAnIHgnIHx8IGcgJSAzKSwKICAgICAgIHRvX3RzdmVjdG9yKCdzaW1wbGUn LCAndycgfHwgZyAlIDQwIHx8ICcgdycgfHwgZyAlIDcgfHwgJyB4JyB8fCBnICUgMyksCiAgICAg ICBBUlJBWVtnICUgMzAsIGcgJSA3LCBnICUgM10sCiAgICAgICBBUlJBWVtnICUgMzAsIGcgJSA3 LCBnICUgM10sCiAgICAgICBBUlJBWVtnICUgMzAsIGcgJSA3LCBnICUgM10sCiAgICAgICBBUlJB WVtnICUgMzAsIGcgJSA3LCBnICUgM106OmRfaW50W10sCiAgICAgICBjcmFuZ2UoJ2snIHx8IGcg JSA2MCwgJ2snIHx8IGcgJSA2MCB8fCAneicpLAogICAgICAgY3JhbmdlKCdrJyB8fCBnICUgNjAs ICdrJyB8fCBnICUgNjAgfHwgJ3onKSwKICAgICAgICd2JyB8fCBnICUgMzAwCkZST00gZ2VuZXJh dGVfc2VyaWVzKDEsIDUwMDApIGc7CgotLSBFeHByZXNzaW9uIHN0YXRpc3RpY3Mgb3ZlciB0aGUg c2FtZSBkb21haW5zIChleHRlbmRlZCBzdGF0cyByZXN0b3JlIHBhdGgpLgotLSBBIGJhcmUgY2Fz dCBvZiB0aGUgY29sdW1uIGZvbGRzIGJhY2sgaW50byB0aGUgY29sdW1uLCBzbyBlYWNoIGV4cHJl c3Npb24KLS0gZ29lcyB0aHJvdWdoIGEgZnVuY3Rpb24gZmlyc3QsIGFzIGluIHRoZSB0ZXN0cyBv ZiB2Mi4KQ1JFQVRFIFNUQVRJU1RJQ1MgdF9leHBycyBPTgogIChyYW5nZV9tZXJnZShkciwgZHIp OjpkX3IpLAogIChyYW5nZV9tZXJnZShkZHIsIGRkcik6OmRkX3IpLAogICgoZG1yICsgJ3t9Jzo6 aW50NG11bHRpcmFuZ2UpOjpkX21yKSwKICAoKGRkbXIgKyAne30nOjppbnQ0bXVsdGlyYW5nZSk6 OmRkX21yKSwKICAoc3RyaXAoZHRzdik6OmRfdHN2KSwKICAoc3RyaXAoZGR0c3YpOjpkZF90c3Yp LAogICgoZGFyciB8fCAne30nOjppbnQ0W10pOjpkX2FyciksCiAgKHJhbmdlX21lcmdlKGRjcmFu Z2UsIGRjcmFuZ2UpOjpkX2NyYW5nZSkKICBGUk9NIHQ7CgpBTkFMWVpFIHQ7CgoiPT09PT0gcm91 bmR0cmlwLnNoID09PT09IgojIS9iaW4vYmFzaAojIFJvdW5kIHRyaXAgb2Ygc3RhdGlzdGljcyB0 aHJvdWdoIHBnX2R1bXAgLS1zdGF0aXN0aWNzLW9ubHkgZm9yIHRoZSBjb2x1bW5zCiMgaW4gcm91 bmR0cmlwX3NldHVwLnNxbCwgb24gZWFjaCBidWlsZC4gIEZvciBldmVyeSBjb2x1bW4gKHBnX3N0 YXRzKSBhbmQKIyBldmVyeSBzdGF0aXN0aWNzIGV4cHJlc3Npb24gKHBnX3N0YXRzX2V4dF9leHBy cyksIGVhY2ggZmllbGQgaXMgY29tcGFyZWQKIyBiZXR3ZWVuIHRoZSBzb3VyY2UgZGF0YWJhc2Ug YW5kIHRoZSByZXN0b3JlZCBvbmUuICBQcmludHMsIHBlciBidWlsZCwgdGhlCiMgcmVzdG9yZSBX QVJOSU5HcyBhbmQgdGhlIGZpZWxkcyB0aGF0IGRpZCBub3QgY29tZSB0aHJvdWdoLgojICAgcm91 bmR0cmlwLnNoIFtidWlsZC4uLl0gICAgICAoZGVmYXVsdDogMTggaGVhZCB2MiAxOXYyKQpzZXQg LXUKQT0kKGNkICIkKGRpcm5hbWUgIiQwIikiICYmIHB3ZCkKQlVJTERTPSR7KjotMTggaGVhZCB2 MiAxOXYyfQpPVVQ9JEEvcm91bmR0cmlwLm91dDsgOiA+ICRPVVQKZm9yIEIgaW4gJEJVSUxEUzsg ZG8KICBJPSRIT01FL3BnMTk3MTUvaS0kQi9iaW4KICBEPSQobWt0ZW1wIC1kIC90bXAvY2xhdWRl LTEwMDAvcnQuWFhYWCk7IFA9NTU0NjAKICAiJEkvaW5pdGRiIiAtRCAkRCAtQSB0cnVzdCAtLW5v LXN5bmMgLVUgcG9zdGdyZXMgPi9kZXYvbnVsbAogIHByaW50ZiAicG9ydCA9ICRQXG51bml4X3Nv Y2tldF9kaXJlY3RvcmllcyA9ICcvdG1wJ1xuIiA+PiAkRC9wb3N0Z3Jlc3FsLmNvbmYKICAiJEkv cGdfY3RsIiAtRCAkRCAtbCAkRC9sb2cgLXcgc3RhcnQgPi9kZXYvbnVsbAogIHEoKSB7ICIkSS9w c3FsIiAtWCAtcUF0IC1oIC90bXAgLXAgJFAgLVUgcG9zdGdyZXMgIiRAIjsgfQogIHEgLWMgIkNS RUFURSBEQVRBQkFTRSBzcmMiIC1jICJDUkVBVEUgREFUQUJBU0UgZHN0IgogIHEgLWQgc3JjIC12 IE9OX0VSUk9SX1NUT1A9MSAtZiAkQS9yb3VuZHRyaXBfc2V0dXAuc3FsID4gJEQvc2V0dXAubG9n IDI+JjEgfHwgeyBlY2hvICIkQjogc2V0dXAgZmFpbGVkIjsgY2F0ICREL3NldHVwLmxvZzsgfQog ICIkSS9wZ19kdW1wIiAtaCAvdG1wIC1wICRQIC1VIHBvc3RncmVzIC0tc2NoZW1hLW9ubHkgc3Jj IHwgcSAtZCBkc3QgPiAvZGV2L251bGwgMj4mMQogICIkSS9wZ19kdW1wIiAtaCAvdG1wIC1wICRQ IC1VIHBvc3RncmVzIC0tc3RhdGlzdGljcy1vbmx5IHNyYyA+ICREL3N0YXRzLnNxbAogIHEgLWQg ZHN0IC1mICREL3N0YXRzLnNxbCA+ICREL3Jlc3RvcmUub3V0IDI+ICREL3Jlc3RvcmUuZXJyCgog ICMgT25lIGxpbmUgcGVyIChvYmplY3QsIGZpZWxkLCB2YWx1ZSk7IG9iamVjdHMgYXJlIGNvbHVt bnMgYW5kIGV4cHJlc3Npb25zLgogIGZsYXQ9IgogICAgU0VMRUNUICdjb2wgJyB8fCBhdHRuYW1l IEFTIG9iaiwgZi5rZXksIGYudmFsdWUKICAgICAgRlJPTSBwZ19zdGF0cyBzLCBqc29uYl9lYWNo X3RleHQodG9fanNvbmIocykgLSAndGFibGVpZCcgLSAnc2NoZW1hbmFtZScgLSAndGFibGVuYW1l JyAtICdhdHRuYW1lJyAtICdpbmhlcml0ZWQnKSBmCiAgICAgV0hFUkUgdGFibGVuYW1lID0gJ3Qn CiAgICBVTklPTiBBTEwKICAgIFNFTEVDVCAnZXhwciAnIHx8IGV4cHIsIGYua2V5LCBmLnZhbHVl CiAgICAgIEZST00gcGdfc3RhdHNfZXh0X2V4cHJzIHMsIGpzb25iX2VhY2hfdGV4dCh0b19qc29u YihzKSAtICd0YWJsZWlkJyAtICdzY2hlbWFuYW1lJyAtICd0YWJsZW5hbWUnCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtICdzdGF0aXN0aWNzX3NjaGVt YW5hbWUnIC0gJ3N0YXRpc3RpY3NfbmFtZScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0gJ3N0YXRpc3RpY3Nfb3duZXInIC0gJ3N0YXRpc3RpY3NfaWQn IC0gJ2V4cHInIC0gJ2luaGVyaXRlZCcpIGYKICAgICBXSEVSRSB0YWJsZW5hbWUgPSAndCcKICAg IE9SREVSIEJZIDEsIDIiCiAgcSAtZCBzcmMgLUYgJCdcdCcgLWMgIiRmbGF0IiA+ICREL3NyYy50 c3YgMj4vZGV2L251bGwKICBxIC1kIGRzdCAtRiAkJ1x0JyAtYyAiJGZsYXQiID4gJEQvZHN0LnRz diAyPi9kZXYvbnVsbAoKICB7CiAgICBlY2hvICI9PT09PSAkQjogJCgiJEkvcG9zdGdyZXMiIC0t dmVyc2lvbikiCiAgICBlY2hvICJyZXN0b3JlIFdBUk5JTkdzOiAkKGdyZXAgLWMgV0FSTklORyAk RC9yZXN0b3JlLmVycikiCiAgICBncmVwIC1BMSBXQVJOSU5HICREL3Jlc3RvcmUuZXJyIHwgZ3Jl cCAtdiAnXi0tJCcgfCBzZWQgJ3MvXnBzcWw6W14gXSogLy8nIHwgc29ydCB8IHVuaXEgLWMgfCBz ZWQgJ3MvXi8gIC8nCiAgICBlY2hvICJmaWVsZHMgdGhhdCBkaWZmZXIgYWZ0ZXIgdGhlIHJvdW5k IHRyaXAgKG9iamVjdDogZmllbGQpOiIKICAgIGRpZmYgPChzb3J0ICREL3NyYy50c3YpIDwoc29y dCAkRC9kc3QudHN2KSB8IGdyZXAgJ148JyB8IGN1dCAtZjEsMiB8IHNlZCAncy9ePCAvICAvOyBz L1x0LzogLycgfCBzb3J0IC11CiAgICBlY2hvICJvYmplY3RzIHdpdGggc3RhdGlzdGljczogc3Jj ICQoY3V0IC1mMSAkRC9zcmMudHN2IHwgc29ydCAtdSB8IHdjIC1sKSwgZHN0ICQoY3V0IC1mMSAk RC9kc3QudHN2IHwgc29ydCAtdSB8IHdjIC1sKSIKICAgIGVjaG8KICB9IHwgdGVlIC1hICRPVVQK ICAiJEkvcGdfY3RsIiAtRCAkRCAtbSBmYXN0IC13IHN0b3AgPi9kZXYvbnVsbAogIHJtIC1yZiAk RApkb25lCgo9PT09PSAuL3JvdW5kdHJpcC5zaCAxOCBoZWFkIHYyIDE5djIgPT09PT0KPT09PT0g MTg6IHBvc3RncmVzIChQb3N0Z3JlU1FMKSAxOC42CnJlc3RvcmUgV0FSTklOR3M6IDgKICAgICAg ICAyIERFVEFJTDogIENhbm5vdCBzZXQgU1RBVElTVElDX0tJTkRfTUNFTEVNIG9yIFNUQVRJU1RJ Q19LSU5EX0RFQ0hJU1QuCiAgICAgICAgNiBERVRBSUw6ICBDYW5ub3Qgc2V0IFNUQVRJU1RJQ19L SU5EX1JBTkdFX0xFTkdUSF9ISVNUT0dSQU0gb3IgU1RBVElTVElDX0tJTkRfQk9VTkRTX0hJU1RP R1JBTS4KICAgICAgICAxIFdBUk5JTkc6ICBjb2x1bW4gImRjcmFuZ2UiIGlzIG5vdCBhIHJhbmdl IHR5cGUKICAgICAgICAxIFdBUk5JTkc6ICBjb2x1bW4gImRjciIgaXMgbm90IGEgcmFuZ2UgdHlw ZQogICAgICAgIDEgV0FSTklORzogIGNvbHVtbiAiZGRtciIgaXMgbm90IGEgcmFuZ2UgdHlwZQog ICAgICAgIDEgV0FSTklORzogIGNvbHVtbiAiZGRyIiBpcyBub3QgYSByYW5nZSB0eXBlCiAgICAg ICAgMSBXQVJOSU5HOiAgY29sdW1uICJkbXIiIGlzIG5vdCBhIHJhbmdlIHR5cGUKICAgICAgICAx IFdBUk5JTkc6ICBjb2x1bW4gImRyIiBpcyBub3QgYSByYW5nZSB0eXBlCiAgICAgICAgMSBXQVJO SU5HOiAgY291bGQgbm90IGRldGVybWluZSBlbGVtZW50IHR5cGUgb2YgY29sdW1uICJkZHRzdiIK ICAgICAgICAxIFdBUk5JTkc6ICBjb3VsZCBub3QgZGV0ZXJtaW5lIGVsZW1lbnQgdHlwZSBvZiBj b2x1bW4gImR0c3YiCmZpZWxkcyB0aGF0IGRpZmZlciBhZnRlciB0aGUgcm91bmQgdHJpcCAob2Jq ZWN0OiBmaWVsZCk6CiAgY29sIGRjcmFuZ2U6IHJhbmdlX2JvdW5kc19oaXN0b2dyYW0KICBjb2wg ZGNyYW5nZTogcmFuZ2VfZW1wdHlfZnJhYwogIGNvbCBkY3JhbmdlOiByYW5nZV9sZW5ndGhfaGlz dG9ncmFtCiAgY29sIGRjcjogcmFuZ2VfYm91bmRzX2hpc3RvZ3JhbQogIGNvbCBkY3I6IHJhbmdl X2VtcHR5X2ZyYWMKICBjb2wgZGNyOiByYW5nZV9sZW5ndGhfaGlzdG9ncmFtCiAgY29sIGRkbXI6 IHJhbmdlX2JvdW5kc19oaXN0b2dyYW0KICBjb2wgZGRtcjogcmFuZ2VfZW1wdHlfZnJhYwogIGNv bCBkZG1yOiByYW5nZV9sZW5ndGhfaGlzdG9ncmFtCiAgY29sIGRkcjogcmFuZ2VfYm91bmRzX2hp c3RvZ3JhbQogIGNvbCBkZHI6IHJhbmdlX2VtcHR5X2ZyYWMKICBjb2wgZGRyOiByYW5nZV9sZW5n dGhfaGlzdG9ncmFtCiAgY29sIGRkdHN2OiBtb3N0X2NvbW1vbl9lbGVtX2ZyZXFzCiAgY29sIGRk dHN2OiBtb3N0X2NvbW1vbl9lbGVtcwogIGNvbCBkbXI6IHJhbmdlX2JvdW5kc19oaXN0b2dyYW0K ICBjb2wgZG1yOiByYW5nZV9lbXB0eV9mcmFjCiAgY29sIGRtcjogcmFuZ2VfbGVuZ3RoX2hpc3Rv Z3JhbQogIGNvbCBkcjogcmFuZ2VfYm91bmRzX2hpc3RvZ3JhbQogIGNvbCBkcjogcmFuZ2VfZW1w dHlfZnJhYwogIGNvbCBkcjogcmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbQogIGNvbCBkdHN2OiBtb3N0 X2NvbW1vbl9lbGVtX2ZyZXFzCiAgY29sIGR0c3Y6IG1vc3RfY29tbW9uX2VsZW1zCiAgZXhwciAo KChkYXJyKTo6aW50ZWdlcltdIHx8ICd7fSc6OmludGVnZXJbXSkpOjpkX2FycjogYXZnX3dpZHRo CiAgZXhwciAoKChkYXJyKTo6aW50ZWdlcltdIHx8ICd7fSc6OmludGVnZXJbXSkpOjpkX2Fycjog Y29ycmVsYXRpb24KICBleHByICgoKGRhcnIpOjppbnRlZ2VyW10gfHwgJ3t9Jzo6aW50ZWdlcltd KSk6OmRfYXJyOiBlbGVtX2NvdW50X2hpc3RvZ3JhbQogIGV4cHIgKCgoZGFycik6OmludGVnZXJb XSB8fCAne30nOjppbnRlZ2VyW10pKTo6ZF9hcnI6IGhpc3RvZ3JhbV9ib3VuZHMKICBleHByICgo KGRhcnIpOjppbnRlZ2VyW10gfHwgJ3t9Jzo6aW50ZWdlcltdKSk6OmRfYXJyOiBtb3N0X2NvbW1v bl9lbGVtX2ZyZXFzCiAgZXhwciAoKChkYXJyKTo6aW50ZWdlcltdIHx8ICd7fSc6OmludGVnZXJb XSkpOjpkX2FycjogbW9zdF9jb21tb25fZWxlbXMKICBleHByICgoKGRhcnIpOjppbnRlZ2VyW10g fHwgJ3t9Jzo6aW50ZWdlcltdKSk6OmRfYXJyOiBtb3N0X2NvbW1vbl9mcmVxcwogIGV4cHIgKCgo ZGFycik6OmludGVnZXJbXSB8fCAne30nOjppbnRlZ2VyW10pKTo6ZF9hcnI6IG1vc3RfY29tbW9u X3ZhbHMKICBleHByICgoKGRhcnIpOjppbnRlZ2VyW10gfHwgJ3t9Jzo6aW50ZWdlcltdKSk6OmRf YXJyOiBuX2Rpc3RpbmN0CiAgZXhwciAoKChkYXJyKTo6aW50ZWdlcltdIHx8ICd7fSc6OmludGVn ZXJbXSkpOjpkX2FycjogbnVsbF9mcmFjCiAgZXhwciAoKChkZG1yKTo6aW50NG11bHRpcmFuZ2Ug KyAne30nOjppbnQ0bXVsdGlyYW5nZSkpOjpkZF9tcjogYXZnX3dpZHRoCiAgZXhwciAoKChkZG1y KTo6aW50NG11bHRpcmFuZ2UgKyAne30nOjppbnQ0bXVsdGlyYW5nZSkpOjpkZF9tcjogbl9kaXN0 aW5jdAogIGV4cHIgKCgoZGRtcik6OmludDRtdWx0aXJhbmdlICsgJ3t9Jzo6aW50NG11bHRpcmFu Z2UpKTo6ZGRfbXI6IG51bGxfZnJhYwogIGV4cHIgKCgoZG1yKTo6aW50NG11bHRpcmFuZ2UgKyAn e30nOjppbnQ0bXVsdGlyYW5nZSkpOjpkX21yOiBhdmdfd2lkdGgKICBleHByICgoKGRtcik6Omlu dDRtdWx0aXJhbmdlICsgJ3t9Jzo6aW50NG11bHRpcmFuZ2UpKTo6ZF9tcjogbl9kaXN0aW5jdAog IGV4cHIgKCgoZG1yKTo6aW50NG11bHRpcmFuZ2UgKyAne30nOjppbnQ0bXVsdGlyYW5nZSkpOjpk X21yOiBudWxsX2ZyYWMKICBleHByIChyYW5nZV9tZXJnZSgoZGNyYW5nZSk6OmNyYW5nZSwgKGRj cmFuZ2UpOjpjcmFuZ2UpKTo6ZF9jcmFuZ2U6IGF2Z193aWR0aAogIGV4cHIgKHJhbmdlX21lcmdl KChkY3JhbmdlKTo6Y3JhbmdlLCAoZGNyYW5nZSk6OmNyYW5nZSkpOjpkX2NyYW5nZTogbl9kaXN0 aW5jdAogIGV4cHIgKHJhbmdlX21lcmdlKChkY3JhbmdlKTo6Y3JhbmdlLCAoZGNyYW5nZSk6OmNy YW5nZSkpOjpkX2NyYW5nZTogbnVsbF9mcmFjCiAgZXhwciAocmFuZ2VfbWVyZ2UoKGRkcik6Omlu dDRyYW5nZSwgKGRkcik6OmludDRyYW5nZSkpOjpkZF9yOiBhdmdfd2lkdGgKICBleHByIChyYW5n ZV9tZXJnZSgoZGRyKTo6aW50NHJhbmdlLCAoZGRyKTo6aW50NHJhbmdlKSk6OmRkX3I6IG5fZGlz dGluY3QKICBleHByIChyYW5nZV9tZXJnZSgoZGRyKTo6aW50NHJhbmdlLCAoZGRyKTo6aW50NHJh bmdlKSk6OmRkX3I6IG51bGxfZnJhYwogIGV4cHIgKHJhbmdlX21lcmdlKChkcik6OmludDRyYW5n ZSwgKGRyKTo6aW50NHJhbmdlKSk6OmRfcjogYXZnX3dpZHRoCiAgZXhwciAocmFuZ2VfbWVyZ2Uo KGRyKTo6aW50NHJhbmdlLCAoZHIpOjppbnQ0cmFuZ2UpKTo6ZF9yOiBuX2Rpc3RpbmN0CiAgZXhw ciAocmFuZ2VfbWVyZ2UoKGRyKTo6aW50NHJhbmdlLCAoZHIpOjppbnQ0cmFuZ2UpKTo6ZF9yOiBu dWxsX2ZyYWMKICBleHByIChzdHJpcCgoZGR0c3YpOjp0c3ZlY3RvcikpOjpkZF90c3Y6IGF2Z193 aWR0aAogIGV4cHIgKHN0cmlwKChkZHRzdik6OnRzdmVjdG9yKSk6OmRkX3RzdjogbW9zdF9jb21t b25fZWxlbV9mcmVxcwogIGV4cHIgKHN0cmlwKChkZHRzdik6OnRzdmVjdG9yKSk6OmRkX3Rzdjog bW9zdF9jb21tb25fZWxlbXMKICBleHByIChzdHJpcCgoZGR0c3YpOjp0c3ZlY3RvcikpOjpkZF90 c3Y6IG5fZGlzdGluY3QKICBleHByIChzdHJpcCgoZGR0c3YpOjp0c3ZlY3RvcikpOjpkZF90c3Y6 IG51bGxfZnJhYwogIGV4cHIgKHN0cmlwKChkdHN2KTo6dHN2ZWN0b3IpKTo6ZF90c3Y6IGF2Z193 aWR0aAogIGV4cHIgKHN0cmlwKChkdHN2KTo6dHN2ZWN0b3IpKTo6ZF90c3Y6IG1vc3RfY29tbW9u X2VsZW1fZnJlcXMKICBleHByIChzdHJpcCgoZHRzdik6OnRzdmVjdG9yKSk6OmRfdHN2OiBtb3N0 X2NvbW1vbl9lbGVtcwogIGV4cHIgKHN0cmlwKChkdHN2KTo6dHN2ZWN0b3IpKTo6ZF90c3Y6IG5f ZGlzdGluY3QKICBleHByIChzdHJpcCgoZHRzdik6OnRzdmVjdG9yKSk6OmRfdHN2OiBudWxsX2Zy YWMKb2JqZWN0cyB3aXRoIHN0YXRpc3RpY3M6IHNyYyAyNSwgZHN0IDI1Cgo9PT09PSBoZWFkOiBw b3N0Z3JlcyAoUG9zdGdyZVNRTCkgMjBkZXZlbApyZXN0b3JlIFdBUk5JTkdzOiAxNQogICAgICAg IDIgREVUQUlMOiAgQ2Fubm90IHNldCBTVEFUSVNUSUNfS0lORF9NQ0VMRU0gb3IgU1RBVElTVElD X0tJTkRfREVDSElTVC4KICAgICAgICA2IERFVEFJTDogIENhbm5vdCBzZXQgU1RBVElTVElDX0tJ TkRfUkFOR0VfTEVOR1RIX0hJU1RPR1JBTSBvciBTVEFUSVNUSUNfS0lORF9CT1VORFNfSElTVE9H UkFNLgogICAgICAgIDUgSElOVDogICJyYW5nZV9sZW5ndGhfaGlzdG9ncmFtIiwgInJhbmdlX2Vt cHR5X2ZyYWMiLCBhbmQgInJhbmdlX2JvdW5kc19oaXN0b2dyYW0iIGNhbiBvbmx5IGJlIHNldCBm b3IgYSByYW5nZSB0eXBlLgogICAgICAgIDEgV0FSTklORzogIGNvbHVtbiAiZGNyYW5nZSIgaXMg bm90IGEgcmFuZ2UgdHlwZQogICAgICAgIDEgV0FSTklORzogIGNvbHVtbiAiZGNyIiBpcyBub3Qg YSByYW5nZSB0eXBlCiAgICAgICAgMSBXQVJOSU5HOiAgY29sdW1uICJkZG1yIiBpcyBub3QgYSBy YW5nZSB0eXBlCiAgICAgICAgMSBXQVJOSU5HOiAgY29sdW1uICJkZHIiIGlzIG5vdCBhIHJhbmdl IHR5cGUKICAgICAgICAxIFdBUk5JTkc6ICBjb2x1bW4gImRtciIgaXMgbm90IGEgcmFuZ2UgdHlw ZQogICAgICAgIDEgV0FSTklORzogIGNvbHVtbiAiZHIiIGlzIG5vdCBhIHJhbmdlIHR5cGUKICAg ICAgICAxIFdBUk5JTkc6ICBjb3VsZCBub3QgZGV0ZXJtaW5lIGVsZW1lbnQgdHlwZSBvZiBjb2x1 bW4gImRkdHN2IgogICAgICAgIDEgV0FSTklORzogIGNvdWxkIG5vdCBkZXRlcm1pbmUgZWxlbWVu dCB0eXBlIG9mIGNvbHVtbiAiZHRzdiIKICAgICAgICAxIFdBUk5JTkc6ICBjb3VsZCBub3QgcGFy c2UgImV4cHJzIjogaW52YWxpZCBkYXRhIGluIGV4cHJlc3Npb24gLTEKICAgICAgICAxIFdBUk5J Tkc6ICBjb3VsZCBub3QgcGFyc2UgImV4cHJzIjogaW52YWxpZCBkYXRhIGluIGV4cHJlc3Npb24g LTIKICAgICAgICAxIFdBUk5JTkc6ICBjb3VsZCBub3QgcGFyc2UgImV4cHJzIjogaW52YWxpZCBk YXRhIGluIGV4cHJlc3Npb24gLTMKICAgICAgICAxIFdBUk5JTkc6ICBjb3VsZCBub3QgcGFyc2Ug ImV4cHJzIjogaW52YWxpZCBkYXRhIGluIGV4cHJlc3Npb24gLTQKICAgICAgICAxIFdBUk5JTkc6 ICBjb3VsZCBub3QgcGFyc2UgImV4cHJzIjogaW52YWxpZCBkYXRhIGluIGV4cHJlc3Npb24gLTgK ICAgICAgICAxIFdBUk5JTkc6ICBjb3VsZCBub3QgcGFyc2UgImV4cHJzIjogaW52YWxpZCBlbGVt ZW50IHR5cGUgaW4gZXhwcmVzc2lvbiAtNQogICAgICAgIDEgV0FSTklORzogIGNvdWxkIG5vdCBw YXJzZSAiZXhwcnMiOiBpbnZhbGlkIGVsZW1lbnQgdHlwZSBpbiBleHByZXNzaW9uIC02CmZpZWxk cyB0aGF0IGRpZmZlciBhZnRlciB0aGUgcm91bmQgdHJpcCAob2JqZWN0OiBmaWVsZCk6CiAgY29s IGRjcmFuZ2U6IHJhbmdlX2JvdW5kc19oaXN0b2dyYW0KICBjb2wgZGNyYW5nZTogcmFuZ2VfZW1w dHlfZnJhYwogIGNvbCBkY3JhbmdlOiByYW5nZV9sZW5ndGhfaGlzdG9ncmFtCiAgY29sIGRjcjog cmFuZ2VfYm91bmRzX2hpc3RvZ3JhbQogIGNvbCBkY3I6IHJhbmdlX2VtcHR5X2ZyYWMKICBjb2wg ZGNyOiByYW5nZV9sZW5ndGhfaGlzdG9ncmFtCiAgY29sIGRkbXI6IHJhbmdlX2JvdW5kc19oaXN0 b2dyYW0KICBjb2wgZGRtcjogcmFuZ2VfZW1wdHlfZnJhYwogIGNvbCBkZG1yOiByYW5nZV9sZW5n dGhfaGlzdG9ncmFtCiAgY29sIGRkcjogcmFuZ2VfYm91bmRzX2hpc3RvZ3JhbQogIGNvbCBkZHI6 IHJhbmdlX2VtcHR5X2ZyYWMKICBjb2wgZGRyOiByYW5nZV9sZW5ndGhfaGlzdG9ncmFtCiAgY29s IGRkdHN2OiBtb3N0X2NvbW1vbl9lbGVtX2ZyZXFzCiAgY29sIGRkdHN2OiBtb3N0X2NvbW1vbl9l bGVtcwogIGNvbCBkbXI6IHJhbmdlX2JvdW5kc19oaXN0b2dyYW0KICBjb2wgZG1yOiByYW5nZV9l bXB0eV9mcmFjCiAgY29sIGRtcjogcmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbQogIGNvbCBkcjogcmFu Z2VfYm91bmRzX2hpc3RvZ3JhbQogIGNvbCBkcjogcmFuZ2VfZW1wdHlfZnJhYwogIGNvbCBkcjog cmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbQogIGNvbCBkdHN2OiBtb3N0X2NvbW1vbl9lbGVtX2ZyZXFz CiAgY29sIGR0c3Y6IG1vc3RfY29tbW9uX2VsZW1zCiAgZXhwciAoKChkYXJyKTo6aW50ZWdlcltd IHx8ICd7fSc6OmludGVnZXJbXSkpOjpkX2FycjogYXZnX3dpZHRoCiAgZXhwciAoKChkYXJyKTo6 aW50ZWdlcltdIHx8ICd7fSc6OmludGVnZXJbXSkpOjpkX2FycjogY29ycmVsYXRpb24KICBleHBy ICgoKGRhcnIpOjppbnRlZ2VyW10gfHwgJ3t9Jzo6aW50ZWdlcltdKSk6OmRfYXJyOiBlbGVtX2Nv dW50X2hpc3RvZ3JhbQogIGV4cHIgKCgoZGFycik6OmludGVnZXJbXSB8fCAne30nOjppbnRlZ2Vy W10pKTo6ZF9hcnI6IGhpc3RvZ3JhbV9ib3VuZHMKICBleHByICgoKGRhcnIpOjppbnRlZ2VyW10g fHwgJ3t9Jzo6aW50ZWdlcltdKSk6OmRfYXJyOiBtb3N0X2NvbW1vbl9lbGVtX2ZyZXFzCiAgZXhw ciAoKChkYXJyKTo6aW50ZWdlcltdIHx8ICd7fSc6OmludGVnZXJbXSkpOjpkX2FycjogbW9zdF9j b21tb25fZWxlbXMKICBleHByICgoKGRhcnIpOjppbnRlZ2VyW10gfHwgJ3t9Jzo6aW50ZWdlcltd KSk6OmRfYXJyOiBtb3N0X2NvbW1vbl9mcmVxcwogIGV4cHIgKCgoZGFycik6OmludGVnZXJbXSB8 fCAne30nOjppbnRlZ2VyW10pKTo6ZF9hcnI6IG1vc3RfY29tbW9uX3ZhbHMKICBleHByICgoKGRh cnIpOjppbnRlZ2VyW10gfHwgJ3t9Jzo6aW50ZWdlcltdKSk6OmRfYXJyOiBuX2Rpc3RpbmN0CiAg ZXhwciAoKChkYXJyKTo6aW50ZWdlcltdIHx8ICd7fSc6OmludGVnZXJbXSkpOjpkX2FycjogbnVs bF9mcmFjCiAgZXhwciAoKChkZG1yKTo6aW50NG11bHRpcmFuZ2UgKyAne30nOjppbnQ0bXVsdGly YW5nZSkpOjpkZF9tcjogYXZnX3dpZHRoCiAgZXhwciAoKChkZG1yKTo6aW50NG11bHRpcmFuZ2Ug KyAne30nOjppbnQ0bXVsdGlyYW5nZSkpOjpkZF9tcjogbl9kaXN0aW5jdAogIGV4cHIgKCgoZGRt cik6OmludDRtdWx0aXJhbmdlICsgJ3t9Jzo6aW50NG11bHRpcmFuZ2UpKTo6ZGRfbXI6IG51bGxf ZnJhYwogIGV4cHIgKCgoZGRtcik6OmludDRtdWx0aXJhbmdlICsgJ3t9Jzo6aW50NG11bHRpcmFu Z2UpKTo6ZGRfbXI6IHJhbmdlX2JvdW5kc19oaXN0b2dyYW0KICBleHByICgoKGRkbXIpOjppbnQ0 bXVsdGlyYW5nZSArICd7fSc6OmludDRtdWx0aXJhbmdlKSk6OmRkX21yOiByYW5nZV9lbXB0eV9m cmFjCiAgZXhwciAoKChkZG1yKTo6aW50NG11bHRpcmFuZ2UgKyAne30nOjppbnQ0bXVsdGlyYW5n ZSkpOjpkZF9tcjogcmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbQogIGV4cHIgKCgoZG1yKTo6aW50NG11 bHRpcmFuZ2UgKyAne30nOjppbnQ0bXVsdGlyYW5nZSkpOjpkX21yOiBhdmdfd2lkdGgKICBleHBy ICgoKGRtcik6OmludDRtdWx0aXJhbmdlICsgJ3t9Jzo6aW50NG11bHRpcmFuZ2UpKTo6ZF9tcjog bl9kaXN0aW5jdAogIGV4cHIgKCgoZG1yKTo6aW50NG11bHRpcmFuZ2UgKyAne30nOjppbnQ0bXVs dGlyYW5nZSkpOjpkX21yOiBudWxsX2ZyYWMKICBleHByICgoKGRtcik6OmludDRtdWx0aXJhbmdl ICsgJ3t9Jzo6aW50NG11bHRpcmFuZ2UpKTo6ZF9tcjogcmFuZ2VfYm91bmRzX2hpc3RvZ3JhbQog IGV4cHIgKCgoZG1yKTo6aW50NG11bHRpcmFuZ2UgKyAne30nOjppbnQ0bXVsdGlyYW5nZSkpOjpk X21yOiByYW5nZV9lbXB0eV9mcmFjCiAgZXhwciAoKChkbXIpOjppbnQ0bXVsdGlyYW5nZSArICd7 fSc6OmludDRtdWx0aXJhbmdlKSk6OmRfbXI6IHJhbmdlX2xlbmd0aF9oaXN0b2dyYW0KICBleHBy IChyYW5nZV9tZXJnZSgoZGNyYW5nZSk6OmNyYW5nZSwgKGRjcmFuZ2UpOjpjcmFuZ2UpKTo6ZF9j cmFuZ2U6IGF2Z193aWR0aAogIGV4cHIgKHJhbmdlX21lcmdlKChkY3JhbmdlKTo6Y3JhbmdlLCAo ZGNyYW5nZSk6OmNyYW5nZSkpOjpkX2NyYW5nZTogbl9kaXN0aW5jdAogIGV4cHIgKHJhbmdlX21l cmdlKChkY3JhbmdlKTo6Y3JhbmdlLCAoZGNyYW5nZSk6OmNyYW5nZSkpOjpkX2NyYW5nZTogbnVs bF9mcmFjCiAgZXhwciAocmFuZ2VfbWVyZ2UoKGRjcmFuZ2UpOjpjcmFuZ2UsIChkY3JhbmdlKTo6 Y3JhbmdlKSk6OmRfY3JhbmdlOiByYW5nZV9ib3VuZHNfaGlzdG9ncmFtCiAgZXhwciAocmFuZ2Vf bWVyZ2UoKGRjcmFuZ2UpOjpjcmFuZ2UsIChkY3JhbmdlKTo6Y3JhbmdlKSk6OmRfY3JhbmdlOiBy YW5nZV9lbXB0eV9mcmFjCiAgZXhwciAocmFuZ2VfbWVyZ2UoKGRjcmFuZ2UpOjpjcmFuZ2UsIChk Y3JhbmdlKTo6Y3JhbmdlKSk6OmRfY3JhbmdlOiByYW5nZV9sZW5ndGhfaGlzdG9ncmFtCiAgZXhw ciAocmFuZ2VfbWVyZ2UoKGRkcik6OmludDRyYW5nZSwgKGRkcik6OmludDRyYW5nZSkpOjpkZF9y OiBhdmdfd2lkdGgKICBleHByIChyYW5nZV9tZXJnZSgoZGRyKTo6aW50NHJhbmdlLCAoZGRyKTo6 aW50NHJhbmdlKSk6OmRkX3I6IG5fZGlzdGluY3QKICBleHByIChyYW5nZV9tZXJnZSgoZGRyKTo6 aW50NHJhbmdlLCAoZGRyKTo6aW50NHJhbmdlKSk6OmRkX3I6IG51bGxfZnJhYwogIGV4cHIgKHJh bmdlX21lcmdlKChkZHIpOjppbnQ0cmFuZ2UsIChkZHIpOjppbnQ0cmFuZ2UpKTo6ZGRfcjogcmFu Z2VfYm91bmRzX2hpc3RvZ3JhbQogIGV4cHIgKHJhbmdlX21lcmdlKChkZHIpOjppbnQ0cmFuZ2Us IChkZHIpOjppbnQ0cmFuZ2UpKTo6ZGRfcjogcmFuZ2VfZW1wdHlfZnJhYwogIGV4cHIgKHJhbmdl X21lcmdlKChkZHIpOjppbnQ0cmFuZ2UsIChkZHIpOjppbnQ0cmFuZ2UpKTo6ZGRfcjogcmFuZ2Vf bGVuZ3RoX2hpc3RvZ3JhbQogIGV4cHIgKHJhbmdlX21lcmdlKChkcik6OmludDRyYW5nZSwgKGRy KTo6aW50NHJhbmdlKSk6OmRfcjogYXZnX3dpZHRoCiAgZXhwciAocmFuZ2VfbWVyZ2UoKGRyKTo6 aW50NHJhbmdlLCAoZHIpOjppbnQ0cmFuZ2UpKTo6ZF9yOiBuX2Rpc3RpbmN0CiAgZXhwciAocmFu Z2VfbWVyZ2UoKGRyKTo6aW50NHJhbmdlLCAoZHIpOjppbnQ0cmFuZ2UpKTo6ZF9yOiBudWxsX2Zy YWMKICBleHByIChyYW5nZV9tZXJnZSgoZHIpOjppbnQ0cmFuZ2UsIChkcik6OmludDRyYW5nZSkp OjpkX3I6IHJhbmdlX2JvdW5kc19oaXN0b2dyYW0KICBleHByIChyYW5nZV9tZXJnZSgoZHIpOjpp bnQ0cmFuZ2UsIChkcik6OmludDRyYW5nZSkpOjpkX3I6IHJhbmdlX2VtcHR5X2ZyYWMKICBleHBy IChyYW5nZV9tZXJnZSgoZHIpOjppbnQ0cmFuZ2UsIChkcik6OmludDRyYW5nZSkpOjpkX3I6IHJh bmdlX2xlbmd0aF9oaXN0b2dyYW0KICBleHByIChzdHJpcCgoZGR0c3YpOjp0c3ZlY3RvcikpOjpk ZF90c3Y6IGF2Z193aWR0aAogIGV4cHIgKHN0cmlwKChkZHRzdik6OnRzdmVjdG9yKSk6OmRkX3Rz djogbW9zdF9jb21tb25fZWxlbV9mcmVxcwogIGV4cHIgKHN0cmlwKChkZHRzdik6OnRzdmVjdG9y KSk6OmRkX3RzdjogbW9zdF9jb21tb25fZWxlbXMKICBleHByIChzdHJpcCgoZGR0c3YpOjp0c3Zl Y3RvcikpOjpkZF90c3Y6IG5fZGlzdGluY3QKICBleHByIChzdHJpcCgoZGR0c3YpOjp0c3ZlY3Rv cikpOjpkZF90c3Y6IG51bGxfZnJhYwogIGV4cHIgKHN0cmlwKChkdHN2KTo6dHN2ZWN0b3IpKTo6 ZF90c3Y6IGF2Z193aWR0aAogIGV4cHIgKHN0cmlwKChkdHN2KTo6dHN2ZWN0b3IpKTo6ZF90c3Y6 IG1vc3RfY29tbW9uX2VsZW1fZnJlcXMKICBleHByIChzdHJpcCgoZHRzdik6OnRzdmVjdG9yKSk6 OmRfdHN2OiBtb3N0X2NvbW1vbl9lbGVtcwogIGV4cHIgKHN0cmlwKChkdHN2KTo6dHN2ZWN0b3Ip KTo6ZF90c3Y6IG5fZGlzdGluY3QKICBleHByIChzdHJpcCgoZHRzdik6OnRzdmVjdG9yKSk6OmRf dHN2OiBudWxsX2ZyYWMKb2JqZWN0cyB3aXRoIHN0YXRpc3RpY3M6IHNyYyAyNSwgZHN0IDI1Cgo9 PT09PSB2MjogcG9zdGdyZXMgKFBvc3RncmVTUUwpIDIwZGV2ZWwKcmVzdG9yZSBXQVJOSU5Hczog MApmaWVsZHMgdGhhdCBkaWZmZXIgYWZ0ZXIgdGhlIHJvdW5kIHRyaXAgKG9iamVjdDogZmllbGQp OgpvYmplY3RzIHdpdGggc3RhdGlzdGljczogc3JjIDI1LCBkc3QgMjUKCj09PT09IDE5djI6IHBv c3RncmVzIChQb3N0Z3JlU1FMKSAxOWJldGE0CnJlc3RvcmUgV0FSTklOR3M6IDAKZmllbGRzIHRo YXQgZGlmZmVyIGFmdGVyIHRoZSByb3VuZCB0cmlwIChvYmplY3Q6IGZpZWxkKToKb2JqZWN0cyB3 aXRoIHN0YXRpc3RpY3M6IHNyYyAyNSwgZHN0IDI1CgoiPT09PT0gb25lX2V4cHIuc2ggPT09PT0i CiMhL2Jpbi9iYXNoCiMgT24gYSBidWlsZCB3aXRob3V0IHRoZSBmaXg6IGlzIHRoZSBkX2FyciBl eHByZXNzaW9uIGxvc3QgYnkgaXRzZWxmLCBvcgojIG9ubHkgd2hlbiBpdCBzaGFyZXMgYSBzdGF0 aXN0aWNzIG9iamVjdCB3aXRoIGEgcmVqZWN0ZWQgZXhwcmVzc2lvbj8KIyAgIG9uZV9leHByLnNo IFtidWlsZF0gICAoZGVmYXVsdDogaGVhZCkKc2V0IC11CkI9JHsxOi1oZWFkfQpJPSRIT01FL3Bn MTk3MTUvaS0kQi9iaW4KRD0kKG1rdGVtcCAtZCAvdG1wL2NsYXVkZS0xMDAwL29lLlhYWFgpOyBQ PTU1NDYyCiIkSS9pbml0ZGIiIC1EICREIC1BIHRydXN0IC0tbm8tc3luYyAtVSBwb3N0Z3JlcyA+ L2Rldi9udWxsCnByaW50ZiAicG9ydCA9ICRQXG51bml4X3NvY2tldF9kaXJlY3RvcmllcyA9ICcv dG1wJ1xuIiA+PiAkRC9wb3N0Z3Jlc3FsLmNvbmYKIiRJL3BnX2N0bCIgLUQgJEQgLWwgJEQvbG9n IC13IHN0YXJ0ID4vZGV2L251bGwKcSgpIHsgIiRJL3BzcWwiIC1YIC1xQXQgLWggL3RtcCAtcCAk UCAtVSBwb3N0Z3JlcyAiJEAiOyB9CnEgLWMgIkNSRUFURSBEQVRBQkFTRSBzcmMiIC1jICJDUkVB VEUgREFUQUJBU0UgZHN0IgpxIC1kIHNyYyA8PCdFT0YnCkNSRUFURSBET01BSU4gZF9yIEFTIGlu dDRyYW5nZTsKQ1JFQVRFIERPTUFJTiBkX2FyciBBUyBpbnQ0W107CkNSRUFURSBUQUJMRSB0IChk ciBkX3IsIGRhcnIgZF9hcnIpOwpJTlNFUlQgSU5UTyB0IFNFTEVDVCBpbnQ0cmFuZ2UoZyAlIDk3 LCBnICUgOTcgKyA1KSwgQVJSQVlbZyAlIDMwLCBnICUgN10gRlJPTSBnZW5lcmF0ZV9zZXJpZXMo MSwgNTAwMCkgZzsKLS0gc19hcnI6IG9ubHkgdGhlIGFycmF5IGV4cHJlc3Npb24uICBzX21peDog dGhlIHNhbWUgcGx1cyBhIHJhbmdlIG9uZS4KQ1JFQVRFIFNUQVRJU1RJQ1Mgc19hcnIgT04gKChk YXJyIHx8ICd7fSc6OmludDRbXSk6OmRfYXJyKSwgKGRyIElTIE5VTEwpIEZST00gdDsKQ1JFQVRF IFNUQVRJU1RJQ1Mgc19taXggT04gKChkYXJyIHx8ICd7fSc6OmludDRbXSk6OmRfYXJyKSwgKHJh bmdlX21lcmdlKGRyLCBkcik6OmRfcikgRlJPTSB0OwpBTkFMWVpFIHQ7CkVPRgoiJEkvcGdfZHVt cCIgLWggL3RtcCAtcCAkUCAtVSBwb3N0Z3JlcyAtLXNjaGVtYS1vbmx5IHNyYyB8IHEgLWQgZHN0 ID4vZGV2L251bGwgMj4mMQoiJEkvcGdfZHVtcCIgLWggL3RtcCAtcCAkUCAtVSBwb3N0Z3JlcyAt LXN0YXRpc3RpY3Mtb25seSBzcmMgfCBxIC1kIGRzdCAyPiYxID4vZGV2L251bGwgfCBncmVwIFdB Uk5JTkcKY2hrPSJTRUxFQ1Qgc3RhdGlzdGljc19uYW1lLCBsZWZ0KGV4cHIsIDQwKSwgbnVsbF9m cmFjIElTIE5PVCBOVUxMIEFTIGhhc19udWxsX2ZyYWMsCiAgICAgICAgICAgIG1vc3RfY29tbW9u X2VsZW1zIElTIE5PVCBOVUxMIEFTIGhhc19tY2VsZW0KICAgICAgIEZST00gcGdfc3RhdHNfZXh0 X2V4cHJzIFdIRVJFIHRhYmxlbmFtZSA9ICd0JyBPUkRFUiBCWSAxLCAyIgplY2hvICItLS0gc3Jj IjsgcSAtZCBzcmMgLWMgIiRjaGsiCmVjaG8gIi0tLSBkc3QiOyBxIC1kIGRzdCAtYyAiJGNoayIK IiRJL3BnX2N0bCIgLUQgJEQgLW0gZmFzdCAtdyBzdG9wID4vZGV2L251bGwKcm0gLXJmICRECgo9 PT09PSAuL29uZV9leHByLnNoIGhlYWQgPT09PT0KV0FSTklORzogIGNvbHVtbiAiZHIiIGlzIG5v dCBhIHJhbmdlIHR5cGUKV0FSTklORzogIGNvdWxkIG5vdCBwYXJzZSAiZXhwcnMiOiBpbnZhbGlk IGRhdGEgaW4gZXhwcmVzc2lvbiAtMgotLS0gc3JjCnNfYXJyfCgoKGRhcnIpOjppbnRlZ2VyW10g fHwgJ3t9Jzo6aW50ZWdlcltdKSl8dHx0CnNfYXJyfChkciBJUyBOVUxMKXx0fGYKc19taXh8KCgo ZGFycik6OmludGVnZXJbXSB8fCAne30nOjppbnRlZ2VyW10pKXx0fHQKc19taXh8KHJhbmdlX21l cmdlKChkcik6OmludDRyYW5nZSwgKGRyKTo6aW50NHx0fGYKLS0tIGRzdApzX2FycnwoKChkYXJy KTo6aW50ZWdlcltdIHx8ICd7fSc6OmludGVnZXJbXSkpfHR8dApzX2FycnwoZHIgSVMgTlVMTCl8 dHxmCnNfbWl4fCgoKGRhcnIpOjppbnRlZ2VyW10gfHwgJ3t9Jzo6aW50ZWdlcltdKSl8ZnxmCnNf bWl4fChyYW5nZV9tZXJnZSgoZHIpOjppbnQ0cmFuZ2UsIChkcik6OmludDR8ZnxmCgo9PT09PSAu L29uZV9leHByLnNoIHYyID09PT09Ci0tLSBzcmMKc19hcnJ8KCgoZGFycik6OmludGVnZXJbXSB8 fCAne30nOjppbnRlZ2VyW10pKXx0fHQKc19hcnJ8KGRyIElTIE5VTEwpfHR8ZgpzX21peHwoKChk YXJyKTo6aW50ZWdlcltdIHx8ICd7fSc6OmludGVnZXJbXSkpfHR8dApzX21peHwocmFuZ2VfbWVy Z2UoKGRyKTo6aW50NHJhbmdlLCAoZHIpOjppbnQ0fHR8ZgotLS0gZHN0CnNfYXJyfCgoKGRhcnIp OjppbnRlZ2VyW10gfHwgJ3t9Jzo6aW50ZWdlcltdKSl8dHx0CnNfYXJyfChkciBJUyBOVUxMKXx0 fGYKc19taXh8KCgoZGFycik6OmludGVnZXJbXSB8fCAne30nOjppbnRlZ2VyW10pKXx0fHQKc19t aXh8KHJhbmdlX21lcmdlKChkcik6OmludDRyYW5nZSwgKGRyKTo6aW50NHx0fGYKCj09PT09IG1h a2UgY2hlY2sgPT09PT0KbWFzdGVyICsgdjI6IEFsbCAyMzkgdGVzdHMgcGFzc2VkLgpSRUxfMTlf U1RBQkxFICsgdjI6IEFsbCAyMzkgdGVzdHMgcGFzc2VkLgptYXN0ZXIgKyBvbmx5IHRoZSB2MiB0 ZXN0IGNoYW5nZXM6IHN0YXRzX2ltcG9ydCBmYWlsczsgcmVncmVzc2lvbi5kaWZmczoKCmRpZmYg LVUzIC9ob21lL21hbnUvcGcxOTcxNS9zcmMtaGVhZC9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3N0YXRzX2ltcG9ydC5vdXQgL2hvbWUvbWFudS9wZzE5NzE1L2ItaGVhZC9zcmMvdGVzdC9yZWdy ZXNzL3Jlc3VsdHMvc3RhdHNfaW1wb3J0Lm91dAotLS0gL2hvbWUvbWFudS9wZzE5NzE1L3NyYy1o ZWFkL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RhdHNfaW1wb3J0Lm91dAkyMDI2LTA5LTI0 IDIyOjAxOjEyLjU5Mjk1MDAzNiAtMDMwMAorKysgL2hvbWUvbWFudS9wZzE5NzE1L2ItaGVhZC9z cmMvdGVzdC9yZWdyZXNzL3Jlc3VsdHMvc3RhdHNfaW1wb3J0Lm91dAkyMDI2LTA5LTI0IDIyOjAx OjIzLjMyNTY2Njg4NCAtMDMwMApAQCAtMTU0Nyw5ICsxNTQ3LDExIEBACiAgICdyYW5nZV9lbXB0 eV9mcmFjJywgJzAnOjpyZWFsLAogICAncmFuZ2VfYm91bmRzX2hpc3RvZ3JhbScsICd7IlsxLDMp IiwiWzUsOSkiLCJbMTEsMTUpIn0nOjp0ZXh0CiApOworV0FSTklORzogIGNvbHVtbiAiZHJhbmdl IiBpcyBub3QgYSByYW5nZSB0eXBlCitERVRBSUw6ICBDYW5ub3Qgc2V0IFNUQVRJU1RJQ19LSU5E X1JBTkdFX0xFTkdUSF9ISVNUT0dSQU0gb3IgU1RBVElTVElDX0tJTkRfQk9VTkRTX0hJU1RPR1JB TS4KICBwZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KLSB0CisgZgogKDEgcm93KQogCiBTRUxFQ1QgKgpAQCAtMTU1OCw5ICsxNTYwLDkgQEAK IEFORCB0YWJsZW5hbWUgPSAndGVzdF9kb20nCiBBTkQgaW5oZXJpdGVkID0gZmFsc2UKIEFORCBh dHRuYW1lID0gJ2RyYW5nZSc7Ci0gIHNjaGVtYW5hbWUgIHwgdGFibGVuYW1lIHwgYXR0bmFtZSB8 IGluaGVyaXRlZCB8IG51bGxfZnJhYyB8IGF2Z193aWR0aCB8IG5fZGlzdGluY3QgfCBtb3N0X2Nv bW1vbl92YWxzIHwgbW9zdF9jb21tb25fZnJlcXMgfCBoaXN0b2dyYW1fYm91bmRzIHwgY29ycmVs YXRpb24gfCBtb3N0X2NvbW1vbl9lbGVtcyB8IG1vc3RfY29tbW9uX2VsZW1fZnJlcXMgfCBlbGVt X2NvdW50X2hpc3RvZ3JhbSB8IHJhbmdlX2xlbmd0aF9oaXN0b2dyYW0gfCByYW5nZV9lbXB0eV9m cmFjIHwgICByYW5nZV9ib3VuZHNfaGlzdG9ncmFtICAgIAotLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBzdGF0 c19pbXBvcnQgfCB0ZXN0X2RvbSAgfCBkcmFuZ2UgIHwgZiAgICAgICAgIHwgICAgICAgICAwIHwg ICAgICAgICAwIHwgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgezIsNCw0 fSAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIDAgfCB7IlsxLDMpIiwiWzUsOSkiLCJb MTEsMTUpIn0KKyAgc2NoZW1hbmFtZSAgfCB0YWJsZW5hbWUgfCBhdHRuYW1lIHwgaW5oZXJpdGVk IHwgbnVsbF9mcmFjIHwgYXZnX3dpZHRoIHwgbl9kaXN0aW5jdCB8IG1vc3RfY29tbW9uX3ZhbHMg fCBtb3N0X2NvbW1vbl9mcmVxcyB8IGhpc3RvZ3JhbV9ib3VuZHMgfCBjb3JyZWxhdGlvbiB8IG1v c3RfY29tbW9uX2VsZW1zIHwgbW9zdF9jb21tb25fZWxlbV9mcmVxcyB8IGVsZW1fY291bnRfaGlz dG9ncmFtIHwgcmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbSB8IHJhbmdlX2VtcHR5X2ZyYWMgfCByYW5n ZV9ib3VuZHNfaGlzdG9ncmFtIAorLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgc3RhdHNfaW1wb3J0IHwgdGVzdF9kb20g IHwgZHJhbmdlICB8IGYgICAgICAgICB8ICAgICAgICAgMCB8ICAgICAgICAgMCB8ICAgICAgICAg IDAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgIHwgCiAoMSByb3cpCiAKIC0tIG9rOiByYW5nZSBzdGF0cyBmb3IgYSBk b21haW4gb3ZlciBhIG11bHRpcmFuZ2UgdHlwZS4KQEAgLTE1NzMsOSArMTU3NSwxMSBAQAogICAn cmFuZ2VfZW1wdHlfZnJhYycsICcwJzo6cmVhbCwKICAgJ3JhbmdlX2JvdW5kc19oaXN0b2dyYW0n LCAneyJbMSwzMCkiLCJbMTEsMzApIiwiWzIxLDEzMCkifSc6OnRleHQKICk7CitXQVJOSU5HOiAg Y29sdW1uICJkbXJhbmdlIiBpcyBub3QgYSByYW5nZSB0eXBlCitERVRBSUw6ICBDYW5ub3Qgc2V0 IFNUQVRJU1RJQ19LSU5EX1JBTkdFX0xFTkdUSF9ISVNUT0dSQU0gb3IgU1RBVElTVElDX0tJTkRf Qk9VTkRTX0hJU1RPR1JBTS4KICBwZ19yZXN0b3JlX2F0dHJpYnV0ZV9zdGF0cyAKIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSB0CisgZgogKDEgcm93KQogCiBTRUxFQ1QgKgpAQCAtMTU4 NCw5ICsxNTg4LDkgQEAKIEFORCB0YWJsZW5hbWUgPSAndGVzdF9kb20nCiBBTkQgaW5oZXJpdGVk ID0gZmFsc2UKIEFORCBhdHRuYW1lID0gJ2RtcmFuZ2UnOwotICBzY2hlbWFuYW1lICB8IHRhYmxl bmFtZSB8IGF0dG5hbWUgfCBpbmhlcml0ZWQgfCBudWxsX2ZyYWMgfCBhdmdfd2lkdGggfCBuX2Rp c3RpbmN0IHwgbW9zdF9jb21tb25fdmFscyB8IG1vc3RfY29tbW9uX2ZyZXFzIHwgaGlzdG9ncmFt X2JvdW5kcyB8IGNvcnJlbGF0aW9uIHwgbW9zdF9jb21tb25fZWxlbXMgfCBtb3N0X2NvbW1vbl9l bGVtX2ZyZXFzIHwgZWxlbV9jb3VudF9oaXN0b2dyYW0gfCByYW5nZV9sZW5ndGhfaGlzdG9ncmFt IHwgcmFuZ2VfZW1wdHlfZnJhYyB8ICAgICByYW5nZV9ib3VuZHNfaGlzdG9ncmFtICAgICAgCi0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KLSBzdGF0c19pbXBvcnQgfCB0ZXN0X2RvbSAgfCBkbXJhbmdlIHwg ZiAgICAgICAgIHwgICAgICAgICAwIHwgICAgICAgICAwIHwgICAgICAgICAgMCB8ICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgIHwgezI5LDI5LDEwOX0gICAgICAgICAgICB8ICAgICAgICAgICAgICAg IDAgfCB7IlsxLDMwKSIsIlsxMSwzMCkiLCJbMjEsMTMwKSJ9CisgIHNjaGVtYW5hbWUgIHwgdGFi bGVuYW1lIHwgYXR0bmFtZSB8IGluaGVyaXRlZCB8IG51bGxfZnJhYyB8IGF2Z193aWR0aCB8IG5f ZGlzdGluY3QgfCBtb3N0X2NvbW1vbl92YWxzIHwgbW9zdF9jb21tb25fZnJlcXMgfCBoaXN0b2dy YW1fYm91bmRzIHwgY29ycmVsYXRpb24gfCBtb3N0X2NvbW1vbl9lbGVtcyB8IG1vc3RfY29tbW9u X2VsZW1fZnJlcXMgfCBlbGVtX2NvdW50X2hpc3RvZ3JhbSB8IHJhbmdlX2xlbmd0aF9oaXN0b2dy YW0gfCByYW5nZV9lbXB0eV9mcmFjIHwgcmFuZ2VfYm91bmRzX2hpc3RvZ3JhbSAKKy0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIHN0YXRzX2ltcG9ydCB8IHRlc3RfZG9tICB8IGRtcmFuZ2UgfCBmICAgICAgICAgfCAgICAg ICAgIDAgfCAgICAgICAgIDAgfCAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8IAogKDEgcm93KQog CiAtLSB3YXJuOiBtdWx0aXJhbmdlIHZhbHVlcyBpbiB0aGUgYm91bmRzIGhpc3RvZ3JhbSBvZiBh IGRvbWFpbi4gIFRoZXNlCkBAIC0xNjAwLDggKzE2MDQsOCBAQAogICAncmFuZ2VfZW1wdHlfZnJh YycsICcwJzo6cmVhbCwKICAgJ3JhbmdlX2JvdW5kc19oaXN0b2dyYW0nLCAneyJ7WzEsMzApfSIs IntbMTEsMzApfSJ9Jzo6dGV4dAogKTsKLVdBUk5JTkc6ICBtYWxmb3JtZWQgcmFuZ2UgbGl0ZXJh bDogIntbMSwzMCl9IgotREVUQUlMOiAgTWlzc2luZyBsZWZ0IHBhcmVudGhlc2lzIG9yIGJyYWNr ZXQuCitXQVJOSU5HOiAgY29sdW1uICJkbXJhbmdlIiBpcyBub3QgYSByYW5nZSB0eXBlCitERVRB SUw6ICBDYW5ub3Qgc2V0IFNUQVRJU1RJQ19LSU5EX1JBTkdFX0xFTkdUSF9ISVNUT0dSQU0gb3Ig U1RBVElTVElDX0tJTkRfQk9VTkRTX0hJU1RPR1JBTS4KICBwZ19yZXN0b3JlX2F0dHJpYnV0ZV9z dGF0cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBmCkBAIC0xNjM1LDE3ICsxNjM5 LDE0OCBAQAogV0hFUkUgcy5zY2hlbWFuYW1lID0gJ3N0YXRzX2ltcG9ydCcKIEFORCBzLnRhYmxl bmFtZSA9ICd0ZXN0X2RvbScKIE9SREVSIEJZIHMuYXR0bmFtZSwgcy5pbmhlcml0ZWQ7CitXQVJO SU5HOiAgY29sdW1uICJkcmFuZ2UiIGlzIG5vdCBhIHJhbmdlIHR5cGUKK0RFVEFJTDogIENhbm5v dCBzZXQgU1RBVElTVElDX0tJTkRfUkFOR0VfTEVOR1RIX0hJU1RPR1JBTSBvciBTVEFUSVNUSUNf S0lORF9CT1VORFNfSElTVE9HUkFNLgorV0FSTklORzogIGNvbHVtbiAiZG1yYW5nZSIgaXMgbm90 IGEgcmFuZ2UgdHlwZQorREVUQUlMOiAgQ2Fubm90IHNldCBTVEFUSVNUSUNfS0lORF9SQU5HRV9M RU5HVEhfSElTVE9HUkFNIG9yIFNUQVRJU1RJQ19LSU5EX0JPVU5EU19ISVNUT0dSQU0uCiAgYXR0 bmFtZSB8IGluaGVyaXRlZCB8IHIgCiAtLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tCi0gZG1yYW5n ZSB8IGYgICAgICAgICB8IHQKLSBkcmFuZ2UgIHwgZiAgICAgICAgIHwgdAorIGRtcmFuZ2UgfCBm ICAgICAgICAgfCBmCisgZHJhbmdlICB8IGYgICAgICAgICB8IGYKICBpZCAgICAgIHwgZiAgICAg ICAgIHwgdAogKDMgcm93cykKIAogU0VMRUNUIHJlbG5hbWUsIChzdGF0cykuKgogRlJPTSBzdGF0 c19pbXBvcnQucGdfc3RhdGlzdGljX2dldF9kaWZmZXJlbmNlKCd0ZXN0X2RvbScsICd0ZXN0X2Rv bV9jbG9uZScpCiBcZ3gKLSgwIHJvd3MpCistWyBSRUNPUkQgMSBdLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KK3JlbG5hbWUgICAgIHwgdGVzdF9kb20KK2F0dG5hbWUgICAgIHwgZHJh bmdlCitzdGFpbmhlcml0ICB8IGYKK3N0YW51bGxmcmFjIHwgMAorc3Rhd2lkdGggICAgfCAxNAor c3RhZGlzdGluY3QgfCAtMQorc3Rha2luZDEgICAgfCA3CitzdGFraW5kMiAgICB8IDYKK3N0YWtp bmQzICAgIHwgMAorc3Rha2luZDQgICAgfCAwCitzdGFraW5kNSAgICB8IDAKK3N0YW9wMSAgICAg IHwgMAorc3Rhb3AyICAgICAgfCA2NzIKK3N0YW9wMyAgICAgIHwgMAorc3Rhb3A0ICAgICAgfCAw CitzdGFvcDUgICAgICB8IDAKK3N0YWNvbGwxICAgIHwgMAorc3RhY29sbDIgICAgfCAwCitzdGFj b2xsMyAgICB8IDAKK3N0YWNvbGw0ICAgIHwgMAorc3RhY29sbDUgICAgfCAwCitzdGFudW1iZXJz MSB8IAorc3RhbnVtYmVyczIgfCB7MH0KK3N0YW51bWJlcnMzIHwgCitzdGFudW1iZXJzNCB8IAor c3RhbnVtYmVyczUgfCAKK3N2MSAgICAgICAgIHwgeyJbMSwzKSIsIls1LDkpIiwiWzExLDE1KSJ9 CitzdjIgICAgICAgICB8IHsyLDQsNH0KK3N2MyAgICAgICAgIHwgCitzdjQgICAgICAgICB8IAor c3Y1ICAgICAgICAgfCAKKy1bIFJFQ09SRCAyIF0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorcmVsbmFtZSAgICAgfCB0ZXN0X2RvbQorYXR0bmFtZSAgICAgfCBkbXJhbmdlCitzdGFp bmhlcml0ICB8IGYKK3N0YW51bGxmcmFjIHwgMAorc3Rhd2lkdGggICAgfCA0NQorc3RhZGlzdGlu Y3QgfCAtMQorc3Rha2luZDEgICAgfCA3CitzdGFraW5kMiAgICB8IDYKK3N0YWtpbmQzICAgIHwg MAorc3Rha2luZDQgICAgfCAwCitzdGFraW5kNSAgICB8IDAKK3N0YW9wMSAgICAgIHwgMAorc3Rh b3AyICAgICAgfCA2NzIKK3N0YW9wMyAgICAgIHwgMAorc3Rhb3A0ICAgICAgfCAwCitzdGFvcDUg ICAgICB8IDAKK3N0YWNvbGwxICAgIHwgMAorc3RhY29sbDIgICAgfCAwCitzdGFjb2xsMyAgICB8 IDAKK3N0YWNvbGw0ICAgIHwgMAorc3RhY29sbDUgICAgfCAwCitzdGFudW1iZXJzMSB8IAorc3Rh bnVtYmVyczIgfCB7MH0KK3N0YW51bWJlcnMzIHwgCitzdGFudW1iZXJzNCB8IAorc3RhbnVtYmVy czUgfCAKK3N2MSAgICAgICAgIHwgeyJbMSwzMCkiLCJbMTEsMzApIiwiWzIxLDEzMCkifQorc3Yy ICAgICAgICAgfCB7MTksMjksMTA5fQorc3YzICAgICAgICAgfCAKK3N2NCAgICAgICAgIHwgCitz djUgICAgICAgICB8IAorLVsgUkVDT1JEIDMgXS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCityZWxuYW1lICAgICB8IHRlc3RfZG9tX2Nsb25lCithdHRuYW1lICAgICB8IGRtcmFuZ2UK K3N0YWluaGVyaXQgIHwgZgorc3RhbnVsbGZyYWMgfCAwCitzdGF3aWR0aCAgICB8IDQ1CitzdGFk aXN0aW5jdCB8IC0xCitzdGFraW5kMSAgICB8IDAKK3N0YWtpbmQyICAgIHwgMAorc3Rha2luZDMg ICAgfCAwCitzdGFraW5kNCAgICB8IDAKK3N0YWtpbmQ1ICAgIHwgMAorc3Rhb3AxICAgICAgfCAw CitzdGFvcDIgICAgICB8IDAKK3N0YW9wMyAgICAgIHwgMAorc3Rhb3A0ICAgICAgfCAwCitzdGFv cDUgICAgICB8IDAKK3N0YWNvbGwxICAgIHwgMAorc3RhY29sbDIgICAgfCAwCitzdGFjb2xsMyAg ICB8IDAKK3N0YWNvbGw0ICAgIHwgMAorc3RhY29sbDUgICAgfCAwCitzdGFudW1iZXJzMSB8IAor c3RhbnVtYmVyczIgfCAKK3N0YW51bWJlcnMzIHwgCitzdGFudW1iZXJzNCB8IAorc3RhbnVtYmVy czUgfCAKK3N2MSAgICAgICAgIHwgCitzdjIgICAgICAgICB8IAorc3YzICAgICAgICAgfCAKK3N2 NCAgICAgICAgIHwgCitzdjUgICAgICAgICB8IAorLVsgUkVDT1JEIDQgXS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCityZWxuYW1lICAgICB8IHRlc3RfZG9tX2Nsb25lCithdHRuYW1l ICAgICB8IGRyYW5nZQorc3RhaW5oZXJpdCAgfCBmCitzdGFudWxsZnJhYyB8IDAKK3N0YXdpZHRo ICAgIHwgMTQKK3N0YWRpc3RpbmN0IHwgLTEKK3N0YWtpbmQxICAgIHwgMAorc3Rha2luZDIgICAg fCAwCitzdGFraW5kMyAgICB8IDAKK3N0YWtpbmQ0ICAgIHwgMAorc3Rha2luZDUgICAgfCAwCitz dGFvcDEgICAgICB8IDAKK3N0YW9wMiAgICAgIHwgMAorc3Rhb3AzICAgICAgfCAwCitzdGFvcDQg ICAgICB8IDAKK3N0YW9wNSAgICAgIHwgMAorc3RhY29sbDEgICAgfCAwCitzdGFjb2xsMiAgICB8 IDAKK3N0YWNvbGwzICAgIHwgMAorc3RhY29sbDQgICAgfCAwCitzdGFjb2xsNSAgICB8IDAKK3N0 YW51bWJlcnMxIHwgCitzdGFudW1iZXJzMiB8IAorc3RhbnVtYmVyczMgfCAKK3N0YW51bWJlcnM0 IHwgCitzdGFudW1iZXJzNSB8IAorc3YxICAgICAgICAgfCAKK3N2MiAgICAgICAgIHwgCitzdjMg ICAgICAgICB8IAorc3Y0ICAgICAgICAgfCAKK3N2NSAgICAgICAgIHwgCiAKIC0tIHRlc3QgZm9y IGEgZG9tYWluIG92ZXIgdHN2ZWN0b3IuCiBDUkVBVEUgRE9NQUlOIHN0YXRzX2ltcG9ydC5kb21f dHN2ZWN0b3IgQVMgdHN2ZWN0b3I7CkBAIC0xNjY1LDkgKzE4MDAsMTEgQEAKICAgJ21vc3RfY29t bW9uX2VsZW1zJywgJ3ticm93bixmb3gscXVpY2t9Jzo6dGV4dCwKICAgJ21vc3RfY29tbW9uX2Vs ZW1fZnJlcXMnLCAnezAuMywwLjIsMC4yLDAuMywwLjB9Jzo6cmVhbFtdLAogICAnZWxlbV9jb3Vu dF9oaXN0b2dyYW0nLCAnezQsNCw0LDQsNCw0LDQsNCw0LDR9Jzo6cmVhbFtdKTsKK1dBUk5JTkc6 ICBjb3VsZCBub3QgZGV0ZXJtaW5lIGVsZW1lbnQgdHlwZSBvZiBjb2x1bW4gInYiCitERVRBSUw6 ICBDYW5ub3Qgc2V0IFNUQVRJU1RJQ19LSU5EX01DRUxFTSBvciBTVEFUSVNUSUNfS0lORF9ERUNI SVNULgogIHBnX3Jlc3RvcmVfYXR0cmlidXRlX3N0YXRzIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQotIHQKKyBmCiAoMSByb3cpCiAKIFNFTEVDVCAqCkBAIC0xNjc2LDkgKzE4MTMsOSBA QAogQU5EIHRhYmxlbmFtZSA9ICd0ZXN0X2RvbV90cycKIEFORCBpbmhlcml0ZWQgPSBmYWxzZQog QU5EIGF0dG5hbWUgPSAndic7Ci0gIHNjaGVtYW5hbWUgIHwgIHRhYmxlbmFtZSAgfCBhdHRuYW1l IHwgaW5oZXJpdGVkIHwgbnVsbF9mcmFjIHwgYXZnX3dpZHRoIHwgbl9kaXN0aW5jdCB8IG1vc3Rf Y29tbW9uX3ZhbHMgfCBtb3N0X2NvbW1vbl9mcmVxcyB8IGhpc3RvZ3JhbV9ib3VuZHMgfCBjb3Jy ZWxhdGlvbiB8IG1vc3RfY29tbW9uX2VsZW1zIHwgbW9zdF9jb21tb25fZWxlbV9mcmVxcyB8IGVs ZW1fY291bnRfaGlzdG9ncmFtICB8IHJhbmdlX2xlbmd0aF9oaXN0b2dyYW0gfCByYW5nZV9lbXB0 eV9mcmFjIHwgcmFuZ2VfYm91bmRzX2hpc3RvZ3JhbSAKLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHN0YXRzX2lt cG9ydCB8IHRlc3RfZG9tX3RzIHwgdiAgICAgICB8IGYgICAgICAgICB8ICAgICAgICAgMCB8ICAg ICAgICAgMCB8ICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCB7YnJvd24sZm94LHF1aWNrfSB8 IHswLjMsMC4yLDAuMiwwLjMsMH0gICAgfCB7NCw0LDQsNCw0LDQsNCw0LDQsNH0gfCAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8IAorICBzY2hlbWFuYW1lICB8ICB0 YWJsZW5hbWUgIHwgYXR0bmFtZSB8IGluaGVyaXRlZCB8IG51bGxfZnJhYyB8IGF2Z193aWR0aCB8 IG5fZGlzdGluY3QgfCBtb3N0X2NvbW1vbl92YWxzIHwgbW9zdF9jb21tb25fZnJlcXMgfCBoaXN0 b2dyYW1fYm91bmRzIHwgY29ycmVsYXRpb24gfCBtb3N0X2NvbW1vbl9lbGVtcyB8IG1vc3RfY29t bW9uX2VsZW1fZnJlcXMgfCBlbGVtX2NvdW50X2hpc3RvZ3JhbSB8IHJhbmdlX2xlbmd0aF9oaXN0 b2dyYW0gfCByYW5nZV9lbXB0eV9mcmFjIHwgcmFuZ2VfYm91bmRzX2hpc3RvZ3JhbSAKKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgc3RhdHNfaW1wb3J0IHwgdGVzdF9kb21fdHMgfCB2ICAgICAgIHwgZiAgICAgICAg IHwgICAgICAgICAwIHwgICAgICAgICAwIHwgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfCAKICgx IHJvdykKIAogLS0KQEAgLTE3MDksMTYgKzE4NDYsODEgQEAKIFdIRVJFIHMuc2NoZW1hbmFtZSA9 ICdzdGF0c19pbXBvcnQnCiBBTkQgcy50YWJsZW5hbWUgPSAndGVzdF9kb21fdHMnCiBPUkRFUiBC WSBzLmF0dG5hbWUsIHMuaW5oZXJpdGVkOworV0FSTklORzogIGNvdWxkIG5vdCBkZXRlcm1pbmUg ZWxlbWVudCB0eXBlIG9mIGNvbHVtbiAidiIKK0RFVEFJTDogIENhbm5vdCBzZXQgU1RBVElTVElD X0tJTkRfTUNFTEVNIG9yIFNUQVRJU1RJQ19LSU5EX0RFQ0hJU1QuCiAgYXR0bmFtZSB8IGluaGVy aXRlZCB8IHIgCiAtLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tCiAgaWQgICAgICB8IGYgICAgICAg ICB8IHQKLSB2ICAgICAgIHwgZiAgICAgICAgIHwgdAorIHYgICAgICAgfCBmICAgICAgICAgfCBm CiAoMiByb3dzKQogCiBTRUxFQ1QgcmVsbmFtZSwgKHN0YXRzKS4qCiBGUk9NIHN0YXRzX2ltcG9y dC5wZ19zdGF0aXN0aWNfZ2V0X2RpZmZlcmVuY2UoJ3Rlc3RfZG9tX3RzJywgJ3Rlc3RfZG9tX3Rz X2Nsb25lJykKIFxneAotKDAgcm93cykKKy1bIFJFQ09SRCAxIF0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCityZWxuYW1lICAgICB8IHRl c3RfZG9tX3RzCithdHRuYW1lICAgICB8IHYKK3N0YWluaGVyaXQgIHwgZgorc3RhbnVsbGZyYWMg fCAwCitzdGF3aWR0aCAgICB8IDU1CitzdGFkaXN0aW5jdCB8IC0xCitzdGFraW5kMSAgICB8IDQK K3N0YWtpbmQyICAgIHwgMAorc3Rha2luZDMgICAgfCAwCitzdGFraW5kNCAgICB8IDAKK3N0YWtp bmQ1ICAgIHwgMAorc3Rhb3AxICAgICAgfCA5OAorc3Rhb3AyICAgICAgfCAwCitzdGFvcDMgICAg ICB8IDAKK3N0YW9wNCAgICAgIHwgMAorc3Rhb3A1ICAgICAgfCAwCitzdGFjb2xsMSAgICB8IDEw MAorc3RhY29sbDIgICAgfCAwCitzdGFjb2xsMyAgICB8IDAKK3N0YWNvbGw0ICAgIHwgMAorc3Rh Y29sbDUgICAgfCAwCitzdGFudW1iZXJzMSB8IHswLjA1LDAuMDUsMC4wNSwwLjA1LDAuMDUsMC4w NSwwLjA1LDAuMDUsMC4wNSwwLjA1LDAuMDUsMC4wNSwwLjA1LDAuMDUsMC4wNSwwLjA1LDAuMDUs MC4wNSwwLjA1LDAuMDUsMSwxLDEsMC4wNSwxfQorc3RhbnVtYmVyczIgfCAKK3N0YW51bWJlcnMz IHwgCitzdGFudW1iZXJzNCB8IAorc3RhbnVtYmVyczUgfCAKK3N2MSAgICAgICAgIHwgezEsMiwz LDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLGZveCxicm93bixx dWlja30KK3N2MiAgICAgICAgIHwgCitzdjMgICAgICAgICB8IAorc3Y0ICAgICAgICAgfCAKK3N2 NSAgICAgICAgIHwgCistWyBSRUNPUkQgMiBdLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorcmVsbmFtZSAgICAgfCB0ZXN0X2RvbV90c19j bG9uZQorYXR0bmFtZSAgICAgfCB2CitzdGFpbmhlcml0ICB8IGYKK3N0YW51bGxmcmFjIHwgMAor c3Rhd2lkdGggICAgfCA1NQorc3RhZGlzdGluY3QgfCAtMQorc3Rha2luZDEgICAgfCAwCitzdGFr aW5kMiAgICB8IDAKK3N0YWtpbmQzICAgIHwgMAorc3Rha2luZDQgICAgfCAwCitzdGFraW5kNSAg ICB8IDAKK3N0YW9wMSAgICAgIHwgMAorc3Rhb3AyICAgICAgfCAwCitzdGFvcDMgICAgICB8IDAK K3N0YW9wNCAgICAgIHwgMAorc3Rhb3A1ICAgICAgfCAwCitzdGFjb2xsMSAgICB8IDAKK3N0YWNv bGwyICAgIHwgMAorc3RhY29sbDMgICAgfCAwCitzdGFjb2xsNCAgICB8IDAKK3N0YWNvbGw1ICAg IHwgMAorc3RhbnVtYmVyczEgfCAKK3N0YW51bWJlcnMyIHwgCitzdGFudW1iZXJzMyB8IAorc3Rh bnVtYmVyczQgfCAKK3N0YW51bWJlcnM1IHwgCitzdjEgICAgICAgICB8IAorc3YyICAgICAgICAg fCAKK3N2MyAgICAgICAgIHwgCitzdjQgICAgICAgICB8IAorc3Y1ICAgICAgICAgfCAKIAogLS0K IC0tIFRlc3QgdGhlIGFiaWxpdHkgdG8gZXhhY3RseSBjb3B5IGRhdGEgZnJvbSBvbmUgdGFibGUg dG8gYW4gaWRlbnRpY2FsIHRhYmxlLApAQCAtMjk4Myw5ICszMTg1LDEwIEBACiAgICAgICAgICAg ICAgeyJyYW5nZV9sZW5ndGhfaGlzdG9ncmFtIjogInsyOSwyOSwxMDl9IiwKICAgICAgICAgICAg ICAgInJhbmdlX2VtcHR5X2ZyYWMiOiAiMCIsCiAgICAgICAgICAgICAgICJyYW5nZV9ib3VuZHNf aGlzdG9ncmFtIjogIntcIntbMSwzMCl9XCIsXCJ7WzExLDMwKX1cIn0ifV0nOjpqc29uYik7Ci1X QVJOSU5HOiAgbWFsZm9ybWVkIHJhbmdlIGxpdGVyYWw6ICJ7WzEsMzApfSIKLURFVEFJTDogIE1p c3NpbmcgbGVmdCBwYXJlbnRoZXNpcyBvciBicmFja2V0LgotSElOVDogIEVsZW1lbnQgInJhbmdl X2JvdW5kc19oaXN0b2dyYW0iIGluIGV4cHJlc3Npb24gLTIgY291bGQgbm90IGJlIHBhcnNlZC4K K1dBUk5JTkc6ICBjb3VsZCBub3QgcGFyc2UgImV4cHJzIjogaW52YWxpZCBkYXRhIGluIGV4cHJl c3Npb24gLTEKK0hJTlQ6ICAicmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbSIsICJyYW5nZV9lbXB0eV9m cmFjIiwgYW5kICJyYW5nZV9ib3VuZHNfaGlzdG9ncmFtIiBjYW4gb25seSBiZSBzZXQgZm9yIGEg cmFuZ2UgdHlwZS4KK1dBUk5JTkc6ICBjb3VsZCBub3QgcGFyc2UgImV4cHJzIjogaW52YWxpZCBk YXRhIGluIGV4cHJlc3Npb24gLTIKK0hJTlQ6ICAicmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbSIsICJy YW5nZV9lbXB0eV9mcmFjIiwgYW5kICJyYW5nZV9ib3VuZHNfaGlzdG9ncmFtIiBjYW4gb25seSBi ZSBzZXQgZm9yIGEgcmFuZ2UgdHlwZS4KICBwZ19yZXN0b3JlX2V4dGVuZGVkX3N0YXRzIAogLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgZgpAQCAtMzAwNCw5ICszMjA3LDEzIEBACiAgICAg ICAgICAgICAgeyJyYW5nZV9sZW5ndGhfaGlzdG9ncmFtIjogInsyOSwyOSwxMDl9IiwKICAgICAg ICAgICAgICAgInJhbmdlX2VtcHR5X2ZyYWMiOiAiMCIsCiAgICAgICAgICAgICAgICJyYW5nZV9i b3VuZHNfaGlzdG9ncmFtIjogIntcIlsxLDMwKVwiLFwiWzExLDMwKVwiLFwiWzIxLDEzMClcIn0i fV0nOjpqc29uYik7CitXQVJOSU5HOiAgY291bGQgbm90IHBhcnNlICJleHBycyI6IGludmFsaWQg ZGF0YSBpbiBleHByZXNzaW9uIC0xCitISU5UOiAgInJhbmdlX2xlbmd0aF9oaXN0b2dyYW0iLCAi cmFuZ2VfZW1wdHlfZnJhYyIsIGFuZCAicmFuZ2VfYm91bmRzX2hpc3RvZ3JhbSIgY2FuIG9ubHkg YmUgc2V0IGZvciBhIHJhbmdlIHR5cGUuCitXQVJOSU5HOiAgY291bGQgbm90IHBhcnNlICJleHBy cyI6IGludmFsaWQgZGF0YSBpbiBleHByZXNzaW9uIC0yCitISU5UOiAgInJhbmdlX2xlbmd0aF9o aXN0b2dyYW0iLCAicmFuZ2VfZW1wdHlfZnJhYyIsIGFuZCAicmFuZ2VfYm91bmRzX2hpc3RvZ3Jh bSIgY2FuIG9ubHkgYmUgc2V0IGZvciBhIHJhbmdlIHR5cGUuCiAgcGdfcmVzdG9yZV9leHRlbmRl ZF9zdGF0cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHQKKyBmCiAoMSByb3cpCiAK IFNFTEVDVCBlLmV4cHIsIGUucmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbSwgZS5yYW5nZV9lbXB0eV9m cmFjLApAQCAtMzAxOCwxNCArMzIyNSwxNCBAQAogXGd4CiAtWyBSRUNPUkQgMSBdLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZXhwciAgICAgICAgICAgICAgICAgICB8IChyYW5n ZV9tZXJnZSgoZHJhbmdlKTo6aW50NHJhbmdlLCAoZHJhbmdlKTo6aW50NHJhbmdlKSk6OnN0YXRz X2ltcG9ydC5kb21fcmFuZ2UKLXJhbmdlX2xlbmd0aF9oaXN0b2dyYW0gfCB7Miw0LDR9Ci1yYW5n ZV9lbXB0eV9mcmFjICAgICAgIHwgMAotcmFuZ2VfYm91bmRzX2hpc3RvZ3JhbSB8IHsiWzEsMyki LCJbNSw5KSIsIlsxMSwxNSkifQorcmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbSB8IAorcmFuZ2VfZW1w dHlfZnJhYyAgICAgICB8IAorcmFuZ2VfYm91bmRzX2hpc3RvZ3JhbSB8IAogLVsgUkVDT1JEIDIg XS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGV4cHIgICAgICAgICAgICAgICAg ICAgfCAoKChkbXJhbmdlKTo6aW50NG11bHRpcmFuZ2UgKyAne30nOjppbnQ0bXVsdGlyYW5nZSkp OjpzdGF0c19pbXBvcnQuZG9tX21yYW5nZQotcmFuZ2VfbGVuZ3RoX2hpc3RvZ3JhbSB8IHsyOSwy OSwxMDl9Ci1yYW5nZV9lbXB0eV9mcmFjICAgICAgIHwgMAotcmFuZ2VfYm91bmRzX2hpc3RvZ3Jh bSB8IHsiWzEsMzApIiwiWzExLDMwKSIsIlsyMSwxMzApIn0KK3JhbmdlX2xlbmd0aF9oaXN0b2dy YW0gfCAKK3JhbmdlX2VtcHR5X2ZyYWMgICAgICAgfCAKK3JhbmdlX2JvdW5kc19oaXN0b2dyYW0g fCAKIAogLS0gQ2hlY2sgaW1wb3J0IG9mIE1DRUxFTSBzdGF0cyBmb3IgYW4gZXhwcmVzc2lvbiB3 aG9zZSB0eXBlIGlzIGEgZG9tYWluCiAtLSBvdmVyIHRzdmVjdG9yLgpAQCAtMzA0MSw5ICszMjQ4 LDEwIEBACiAgICdleHBycycsICdbeyJtb3N0X2NvbW1vbl9lbGVtcyI6ICJ7YnJvd24sZm94LHF1 aWNrfSIsCiAgICAgICAgICAgICAgICJtb3N0X2NvbW1vbl9lbGVtX2ZyZXFzIjogInswLjMsMC4y LDAuMiwwLjMsMC4wfSIsCiAgICAgICAgICAgICAgICJlbGVtX2NvdW50X2hpc3RvZ3JhbSI6ICJ7 NCw0LDQsNCw0LDQsNCw0LDQsNH0ifV0nOjpqc29uYik7CitXQVJOSU5HOiAgY291bGQgbm90IHBh cnNlICJleHBycyI6IGludmFsaWQgZWxlbWVudCB0eXBlIGluIGV4cHJlc3Npb24gLTEKICBwZ19y ZXN0b3JlX2V4dGVuZGVkX3N0YXRzIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gdAor IGYKICgxIHJvdykKIAogU0VMRUNUIGUuZXhwciwgZS5tb3N0X2NvbW1vbl9lbGVtcywgZS5tb3N0 X2NvbW1vbl9lbGVtX2ZyZXFzLApAQCAtMzA1NSw5ICszMjYzLDkgQEAKIFxneAogLVsgUkVDT1JE IDEgXS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIGV4cHIgICAgICAgICAgICAgICAgICAgfCAoc3RyaXAoKHYpOjp0c3ZlY3Rvcikp OjpzdGF0c19pbXBvcnQuZG9tX3RzdmVjdG9yCi1tb3N0X2NvbW1vbl9lbGVtcyAgICAgIHwge2Jy b3duLGZveCxxdWlja30KLW1vc3RfY29tbW9uX2VsZW1fZnJlcXMgfCB7MC4zLDAuMiwwLjIsMC4z LDB9Ci1lbGVtX2NvdW50X2hpc3RvZ3JhbSAgIHwgezQsNCw0LDQsNCw0LDQsNCw0LDR9Cittb3N0 X2NvbW1vbl9lbGVtcyAgICAgIHwgCittb3N0X2NvbW1vbl9lbGVtX2ZyZXFzIHwgCitlbGVtX2Nv dW50X2hpc3RvZ3JhbSAgIHwgCiAKIC0tIEluY29ycmVjdCBleHRlbmRlZCBzdGF0cyBraW5kLCBl eHBycyBub3Qgc3VwcG9ydGVkCiBTRUxFQ1QgcGdfY2F0YWxvZy5wZ19yZXN0b3JlX2V4dGVuZGVk X3N0YXRzKAo= --===============1063123212765771881==--