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.94.2) (envelope-from ) id 1vDfJF-00DBTr-33 for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Oct 2025 08:44:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vDfJC-00Bamp-Rl for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Oct 2025 08:44:01 +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.94.2) (envelope-from ) id 1vDfJB-00Bamb-T0 for pgsql-hackers@lists.postgresql.org; Tue, 28 Oct 2025 08:44:01 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by makus.postgresql.org with smtp (Exim 4.96) (envelope-from ) id 1vDfJ4-004Ayi-1d for pgsql-hackers@postgresql.org; Tue, 28 Oct 2025 08:43:58 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id D4801618F9; Tue, 28 Oct 2025 17:43:49 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_f4f419493206c46ce9a0826d3a4b2035" Content-Transfer-Encoding: 7bit Date: Tue, 28 Oct 2025 17:43:49 +0900 From: torikoshia To: pgsql-hackers@postgresql.org Cc: andres@anarazel.de, tgl@sss.pgh.pa.us, pgsql-hackers@postgresql.org, rjuju123@gmail.com, Bruce Momjian , postgres@jeltef.nl Subject: Re: RFC: Allow EXPLAIN to Output Page Fault Information In-Reply-To: <192906398eaa10720193d6433d64f0f6@oss.nttdata.com> References: <3861403.1735576764@sss.pgh.pa.us> <1f22794321b745549d54359d343e37b8@oss.nttdata.com> <2c9d6eaf26df17bec13bb03bf1e9bcbb@oss.nttdata.com> <2035079.1739124342@sss.pgh.pa.us> <30ce8c5be7d1f67d53276540c29fa1c7@oss.nttdata.com> <7e182802a184ff5c9b54e575f1e3d8a2@oss.nttdata.com> <0310f2ff46d990485f96624ac1744c01@oss.nttdata.com> <192906398eaa10720193d6433d64f0f6@oss.nttdata.com> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: torikoshia@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_f4f419493206c46ce9a0826d3a4b2035 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On 2025-05-08 22:51, torikoshia wrote: > On 2025-04-11 22:18, torikoshia wrote: >> On 2025-03-25 10:27, torikoshia wrote: >>> On 2025-03-22 20:23, Jelte Fennema-Nio wrote: >>> >>>> On Wed, 19 Mar 2025 at 14:15, torikoshia >>>> wrote: >>>>> BTW based on your discussion, I thought this patch could not be >>>>> merged >>>>> anytime soon. Does that align with your understanding? >>>> >>>> Yeah, that aligns with my understanding. I don't think it's >>>> realistic >>>> to get this merged before the code freeze, but I think both of the >>>> below issues could be resolved. >>>> >>>>> - With bgworker-based AIO, this patch could mislead users into >>>>> underestimating the actual storage I/O load, which is undesirable. >>>> >>>> To resolve this, I think the patch would need to change to not >>>> report >>>> anything if bgworker-based AIO is used. >>> >>> Agreed. >>> I feel the new GUC io_method can be used to determine whether >>> bgworker-based AIO is being used. >> >> I took this approach and when io_method=worker, no additional output >> is shown in the attached patch. > Rebased the patch again. -- Regards, -- Atsushi Torikoshi Seconded from NTT DATA Japan Corporation to SRA OSS K.K. --=_f4f419493206c46ce9a0826d3a4b2035 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v6-0001-Add-storage-I-O-tracking-to-BUFFERS-option.patch Content-Disposition: attachment; filename=v6-0001-Add-storage-I-O-tracking-to-BUFFERS-option.patch; size=73063 RnJvbSA1NmNlMDg5NjE2ODAzYjY5ZmEyNTY4Y2M5YjJhYTNlNjA1YWYwYTUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IFR1ZSwgMjggT2N0IDIwMjUgMTc6Mzc6MTEgKzA5MDAKU3ViamVjdDog W1BBVENIIHY2XSBBZGQgc3RvcmFnZSBJL08gdHJhY2tpbmcgdG8gJ0JVRkZFUlMnIG9wdGlvbgoK VGhlICdCVUZGRVJTJyBvcHRpb24gY3VycmVudGx5IGluZGljYXRlcyB3aGV0aGVyIGEgYmxvY2sg aGl0IHRoZSBzaGFyZWQKYnVmZmVyLCBidXQgZG9lcyBub3QgZGlzdGluZ3Vpc2ggYmV0d2VlbiBh IGNhY2hlIGhpdCBpbiB0aGUgT1MgY2FjaGUgb3IKYSBzdG9yYWdlIEkvTyBvcGVyYXRpb24uCldo aWxlIHNoYXJlZCBidWZmZXJzIGFuZCBPUyBjYWNoZSBvZmZlciBzaW1pbGFyIHBlcmZvcm1hbmNl LCBzdG9yYWdlCkkvTyBpcyBzaWduaWZpY2FudGx5IHNsb3dlciBpbiBjb21wYXJpc29uIGluIGdl bmVyYWwuICBCeSBtZWFzdXJpbmcKdGhlIG51bWJlcnMgb2Ygc3RvcmFnZSBJL08gcmVhZCBhbmQg d3JpdGUsIHdlIGNhbiBiZXR0ZXIgaWRlbnRpZnkgaWYKc3RvcmFnZSBJL08gaXMgYSBib3R0bGVu ZWNrIGluIHBlcmZvcm1hbmNlLgoKQWRkZWQgdHJhY2tpbmcgb2Ygc3RvcmFnZSBJL08gdXNhZ2Ug YnkgY2FsbGluZyBnZXRydXNhZ2UoMikgYXQgYm90aCB0aGUKcGxhbm5pbmcgYW5kIGV4ZWN1dGlv biBwaGFzZSBzdGFydCBhbmQgZW5kIHBvaW50cy4KCkEgbW9yZSBncmFudWxhciBhcHByb2FjaCBh cyB3ZWxsIGFzIGN1cnJlbnQgQlVGRkVSUyBvcHRpb24odHJhY2tpbmcgYXQKZWFjaCBwbGFuIG5v ZGUpIHdhcyBjb25zaWRlcmVkIGJ1dCBmb3VuZCB0byBiZSBpbXByYWN0aWNhbCBkdWUgdG8gdGhl CmhpZ2ggcGVyZm9ybWFuY2UgY29zdCBvZiBmcmVxdWVudCBnZXRydXNhZ2UoKSBjYWxscy4KClRo aXMgb3V0cHV0IGlzIHNob3duIHdoZW4gaW9fbWV0aG9kPXdvcmtlciwgc2luY2UgYXN5bmNocm9u b3VzIHdvcmtlcnMKaGFuZGxlIEkvTyBmb3IgbXVsdGlwbGUgcHJvY2Vzc2VzLCBhbmQgaXNvbGF0 aW5nIHRoZSBFWFBMQUlOIHRhcmdldCdzCkkvTyBpcyBkaWZmaWN1bHQuCgpUT0RPOgpJIGJlbGll dmUgdGhpcyBpbmZvcm1hdGlvbiBpcyBtYWlubHkgdXNlZnVsIHdoZW4gdXNlZCBpbiBhdXRvX2V4 cGxhaW4uCkknbSBnb2luZyB0byBpbXBsZW1lbnQgaXQgaWYgdGhpcyBwYXRjaCBpcyBtZXJnZWQu ClNxdWFzaGVkIGNvbW1pdCBvZiB0aGUgZm9sbG93aW5nOgotLS0KIGRvYy9zcmMvc2dtbC9yZWYv ZXhwbGFpbi5zZ21sICAgICAgICAgICB8ICAyNCArCiBzcmMvYmFja2VuZC9hY2Nlc3MvYnJpbi9i cmluLmMgICAgICAgICAgfCAgIDggKy0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2luaW5zZXJ0 LmMgICAgICB8ICAgOCArLQogc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRzb3J0LmMgICAg IHwgICA4ICstCiBzcmMvYmFja2VuZC9jb21tYW5kcy9leHBsYWluLmMgICAgICAgICAgfCAxMjUg KysrLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvcHJlcGFyZS5jICAgICAgICAgIHwgICA4ICsKIHNy Yy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgICB8ICAgOCArLQogc3JjL2JhY2tl bmQvZXhlY3V0b3IvZXhlY1BhcmFsbGVsLmMgICAgIHwgIDM1ICstCiBzcmMvYmFja2VuZC9leGVj dXRvci9pbnN0cnVtZW50LmMgICAgICAgfCAgNzkgKystCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9l eHBsYWluLmggICAgICAgICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhlY1BhcmFs bGVsLmggICAgIHwgICAyICsKIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL2luc3RydW1lbnQuaCAgICAg ICB8ICAyMCArLQogc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvcmVzb3VyY2UuaCAgIHwgICAy ICsKIHNyYy9wb3J0L3dpbjMyZ2V0cnVzYWdlLmMgICAgICAgICAgICAgICB8ICAgNCArCiBzcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2V4cGxhaW5fMS5vdXQgfCA4NTcgKysrKysrKysrKysrKysr KysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAgICAgfCAgIDEg KwogMTYgZmlsZXMgY2hhbmdlZCwgMTE1NiBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2V4cGxhaW5fMS5v dXQKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2V4cGxhaW4uc2dtbCBiL2RvYy9zcmMv c2dtbC9yZWYvZXhwbGFpbi5zZ21sCmluZGV4IDZkZGE2ODBhYTBkLi44NmI2NmUwNmNkMyAxMDA2 NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9leHBsYWluLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21s L3JlZi9leHBsYWluLnNnbWwKQEAgLTIwNCw2ICsyMDQsMzAgQEAgUk9MTEJBQ0s7CiAgICAgICBm b3JtYXQsIG9ubHkgbm9uLXplcm8gdmFsdWVzIGFyZSBwcmludGVkLiAgQnVmZmVycyBpbmZvcm1h dGlvbiBpcwogICAgICAgYXV0b21hdGljYWxseSBpbmNsdWRlZCB3aGVuIDxsaXRlcmFsPkFOQUxZ WkU8L2xpdGVyYWw+IGlzIHVzZWQuCiAgICAgIDwvcGFyYT4KKyAgICAgPHBhcmE+CisgICAgICBJ ZiBwb3NzaWJsZSwgdGhpcyBvcHRpb24gYWxzbyBkaXNwbGF5cyB0aGUgbnVtYmVyIG9mIHJlYWQg YW5kIHdyaXRlCisgICAgICBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbiBzdG9yYWdlIGR1cmluZyB0 aGUgcGxhbm5pbmcgYW5kIGV4ZWN1dGlvbiBwaGFzZXMsCisgICAgICBzaG93biBhdCB0aGUgZW5k IG9mIHRoZSBwbGFuLiBUaGVzZSB2YWx1ZXMgYXJlIG9idGFpbmVkIGZyb20gdGhlCisgICAgICA8 ZnVuY3Rpb24+Z2V0cnVzYWdlKCk8L2Z1bmN0aW9uPiBzeXN0ZW0gY2FsbC4gTm90ZSB0aGF0IG9u IHBsYXRmb3JtcyB0aGF0CisgICAgICBkbyBub3Qgc3VwcG9ydCA8ZnVuY3Rpb24+Z2V0cnVzYWdl KCk8L2Z1bmN0aW9uPiwgc3VjaCBhcyBXaW5kb3dzLCBubyBvdXRwdXQKKyAgICAgIHdpbGwgYmUg c2hvd24sIGV2ZW4gaWYgcmVhZHMgb3Igd3JpdGVzIGFjdHVhbGx5IG9jY3VyLiBBZGRpdGlvbmFs bHksIGV2ZW4KKyAgICAgIG9uIHBsYXRmb3JtcyB3aGVyZSA8ZnVuY3Rpb24+Z2V0cnVzYWdlKCk8 L2Z1bmN0aW9uPiBpcyBzdXBwb3J0ZWQsIGlmIHRoZQorICAgICAga2VybmVsIGlzIGJ1aWx0IHdp dGhvdXQgdGhlIG5lY2Vzc2FyeSBvcHRpb25zIHRvIHRyYWNrIHN0b3JhZ2UgcmVhZCBhbmQKKyAg ICAgIHdyaXRlIG9wZXJhdGlvbnMsIG5vIG91dHB1dCB3aWxsIGJlIHNob3duLiAgQWxzbywgV2hl bgorICAgICAgPHZhcm5hbWU+aW9fbWV0aG9kPC92YXJuYW1lPiBpcyBzZXQgdG8gPGxpdGVyYWw+ d29ya2VyPC9saXRlcmFsPiwgbm8gb3V0cHV0CisgICAgICB3aWxsIGJlIHNob3duLCBhcyBJL08g aGFuZGxlZCBieSBhc3luY2hyb25vdXMgd29ya2VycyBjYW5ub3QgYmUgbWVhc3VyZWQKKyAgICAg IGFjY3VyYXRlbHkuCisgICAgICBUaGUgdGltaW5nIGFuZCB1bml0IG9mIG1lYXN1cmVtZW50IGZv ciByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIG1heSB2YXJ5CisgICAgICBkZXBlbmRpbmcgb24g dGhlIHBsYXRmb3JtLiBGb3IgZXhhbXBsZSwgb24gTGludXgsIGEgcmVhZCBpcyBjb3VudGVkIG9u bHkKKyAgICAgIGlmIHRoaXMgcHJvY2VzcyBjYXVzZWQgZGF0YSB0byBiZSBmZXRjaGVkIGZyb20g dGhlIHN0b3JhZ2UgbGF5ZXIsIGFuZCBhCisgICAgICB3cml0ZSBpcyBjb3VudGVkIGF0IHRoZSBw YWdlLWRpcnR5aW5nIHRpbWUuIE9uIExpbnV4LCB0aGUgdW5pdCBvZgorICAgICAgbWVhc3VyZW1l bnQgZm9yIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgaXMgNTEyIGJ5dGVzLgorICAgICA8L3Bh cmE+CisgICAgIDxwYXJhPgorICAgICAgQnVmZmVycyBpbmZvcm1hdGlvbiBpcyBpbmNsdWRlZCBi eSBkZWZhdWx0IHdoZW4gPGxpdGVyYWw+QU5BTFlaRTwvbGl0ZXJhbD4KKyAgICAgIGlzIHVzZWQg YnV0IG90aGVyd2lzZSBpcyBub3QgaW5jbHVkZWQgYnkgZGVmYXVsdCwgYnV0IGNhbiBiZSBlbmFi bGVkIHVzaW5nCisgICAgICB0aGlzIG9wdGlvbi4KKyAgICAgPC9wYXJhPgogICAgIDwvbGlzdGl0 ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNz L2JyaW4vYnJpbi5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbi5jCmluZGV4IDJmN2Qx NDM3OTE5Li41YmU5OGUyZTU2OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4v YnJpbi5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW4uYwpAQCAtMjU1Nyw3ICsy NTU3LDcgQEAgX2JyaW5fZW5kX3BhcmFsbGVsKEJyaW5MZWFkZXIgKmJyaW5sZWFkZXIsIEJyaW5C dWlsZFN0YXRlICpzdGF0ZSkKIAkgKiBvciB3ZSBtaWdodCBnZXQgaW5jb21wbGV0ZSBkYXRhLikK IAkgKi8KIAlmb3IgKGkgPSAwOyBpIDwgYnJpbmxlYWRlci0+cGN4dC0+bndvcmtlcnNfbGF1bmNo ZWQ7IGkrKykKLQkJSW5zdHJBY2N1bVBhcmFsbGVsUXVlcnkoJmJyaW5sZWFkZXItPmJ1ZmZlcnVz YWdlW2ldLCAmYnJpbmxlYWRlci0+d2FsdXNhZ2VbaV0pOworCQlJbnN0ckFjY3VtUGFyYWxsZWxR dWVyeSgmYnJpbmxlYWRlci0+YnVmZmVydXNhZ2VbaV0sIE5VTEwsICZicmlubGVhZGVyLT53YWx1 c2FnZVtpXSk7CiAKIAkvKiBGcmVlIGxhc3QgcmVmZXJlbmNlIHRvIE1WQ0Mgc25hcHNob3QsIGlm IG9uZSB3YXMgdXNlZCAqLwogCWlmIChJc01WQ0NTbmFwc2hvdChicmlubGVhZGVyLT5zbmFwc2hv dCkpCkBAIC0yOTE5LDcgKzI5MTksNyBAQCBfYnJpbl9wYXJhbGxlbF9idWlsZF9tYWluKGRzbV9z ZWdtZW50ICpzZWcsIHNobV90b2MgKnRvYykKIAl0dXBsZXNvcnRfYXR0YWNoX3NoYXJlZChzaGFy ZWRzb3J0LCBzZWcpOwogCiAJLyogUHJlcGFyZSB0byB0cmFjayBidWZmZXIgdXNhZ2UgZHVyaW5n IHBhcmFsbGVsIGV4ZWN1dGlvbiAqLwotCUluc3RyU3RhcnRQYXJhbGxlbFF1ZXJ5KCk7CisJSW5z dHJTdGFydFBhcmFsbGVsUXVlcnkoTlVMTCk7CiAKIAkvKgogCSAqIE1pZ2h0IGFzIHdlbGwgdXNl IHJlbGlhYmxlIGZpZ3VyZSB3aGVuIGRvbGluZyBvdXQgbWFpbnRlbmFuY2Vfd29ya19tZW0KQEAg LTI5MzQsOCArMjkzNCw4IEBAIF9icmluX3BhcmFsbGVsX2J1aWxkX21haW4oZHNtX3NlZ21lbnQg KnNlZywgc2htX3RvYyAqdG9jKQogCS8qIFJlcG9ydCBXQUwvYnVmZmVyIHVzYWdlIGR1cmluZyBw YXJhbGxlbCBleGVjdXRpb24gKi8KIAlidWZmZXJ1c2FnZSA9IHNobV90b2NfbG9va3VwKHRvYywg UEFSQUxMRUxfS0VZX0JVRkZFUl9VU0FHRSwgZmFsc2UpOwogCXdhbHVzYWdlID0gc2htX3RvY19s b29rdXAodG9jLCBQQVJBTExFTF9LRVlfV0FMX1VTQUdFLCBmYWxzZSk7Ci0JSW5zdHJFbmRQYXJh bGxlbFF1ZXJ5KCZidWZmZXJ1c2FnZVtQYXJhbGxlbFdvcmtlck51bWJlcl0sCi0JCQkJCQkgICZ3 YWx1c2FnZVtQYXJhbGxlbFdvcmtlck51bWJlcl0pOworCUluc3RyRW5kUGFyYWxsZWxRdWVyeSgm YnVmZmVydXNhZ2VbUGFyYWxsZWxXb3JrZXJOdW1iZXJdLCBOVUxMLAorCQkJCQkJICAmd2FsdXNh Z2VbUGFyYWxsZWxXb3JrZXJOdW1iZXJdLCBOVUxMKTsKIAogCWluZGV4X2Nsb3NlKGluZGV4UmVs LCBpbmRleExvY2ttb2RlKTsKIAl0YWJsZV9jbG9zZShoZWFwUmVsLCBoZWFwTG9ja21vZGUpOwpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW5pbnNlcnQuYyBiL3NyYy9iYWNr ZW5kL2FjY2Vzcy9naW4vZ2luaW5zZXJ0LmMKaW5kZXggM2Q3MWI0NDJhYTkuLmRjMTIyNWU1YTgz IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbmluc2VydC5jCisrKyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2luaW5zZXJ0LmMKQEAgLTEwODgsNyArMTA4OCw3IEBAIF9n aW5fZW5kX3BhcmFsbGVsKEdpbkxlYWRlciAqZ2lubGVhZGVyLCBHaW5CdWlsZFN0YXRlICpzdGF0 ZSkKIAkgKiBvciB3ZSBtaWdodCBnZXQgaW5jb21wbGV0ZSBkYXRhLikKIAkgKi8KIAlmb3IgKGkg PSAwOyBpIDwgZ2lubGVhZGVyLT5wY3h0LT5ud29ya2Vyc19sYXVuY2hlZDsgaSsrKQotCQlJbnN0 ckFjY3VtUGFyYWxsZWxRdWVyeSgmZ2lubGVhZGVyLT5idWZmZXJ1c2FnZVtpXSwgJmdpbmxlYWRl ci0+d2FsdXNhZ2VbaV0pOworCQlJbnN0ckFjY3VtUGFyYWxsZWxRdWVyeSgmZ2lubGVhZGVyLT5i dWZmZXJ1c2FnZVtpXSwgTlVMTCwgJmdpbmxlYWRlci0+d2FsdXNhZ2VbaV0pOwogCiAJLyogRnJl ZSBsYXN0IHJlZmVyZW5jZSB0byBNVkNDIHNuYXBzaG90LCBpZiBvbmUgd2FzIHVzZWQgKi8KIAlp ZiAoSXNNVkNDU25hcHNob3QoZ2lubGVhZGVyLT5zbmFwc2hvdCkpCkBAIC0yMTUxLDcgKzIxNTEs NyBAQCBfZ2luX3BhcmFsbGVsX2J1aWxkX21haW4oZHNtX3NlZ21lbnQgKnNlZywgc2htX3RvYyAq dG9jKQogCXR1cGxlc29ydF9hdHRhY2hfc2hhcmVkKHNoYXJlZHNvcnQsIHNlZyk7CiAKIAkvKiBQ cmVwYXJlIHRvIHRyYWNrIGJ1ZmZlciB1c2FnZSBkdXJpbmcgcGFyYWxsZWwgZXhlY3V0aW9uICov Ci0JSW5zdHJTdGFydFBhcmFsbGVsUXVlcnkoKTsKKwlJbnN0clN0YXJ0UGFyYWxsZWxRdWVyeShO VUxMKTsKIAogCS8qCiAJICogTWlnaHQgYXMgd2VsbCB1c2UgcmVsaWFibGUgZmlndXJlIHdoZW4g ZG9saW5nIG91dCBtYWludGVuYW5jZV93b3JrX21lbQpAQCAtMjE2Niw4ICsyMTY2LDggQEAgX2dp bl9wYXJhbGxlbF9idWlsZF9tYWluKGRzbV9zZWdtZW50ICpzZWcsIHNobV90b2MgKnRvYykKIAkv KiBSZXBvcnQgV0FML2J1ZmZlciB1c2FnZSBkdXJpbmcgcGFyYWxsZWwgZXhlY3V0aW9uICovCiAJ YnVmZmVydXNhZ2UgPSBzaG1fdG9jX2xvb2t1cCh0b2MsIFBBUkFMTEVMX0tFWV9CVUZGRVJfVVNB R0UsIGZhbHNlKTsKIAl3YWx1c2FnZSA9IHNobV90b2NfbG9va3VwKHRvYywgUEFSQUxMRUxfS0VZ X1dBTF9VU0FHRSwgZmFsc2UpOwotCUluc3RyRW5kUGFyYWxsZWxRdWVyeSgmYnVmZmVydXNhZ2Vb UGFyYWxsZWxXb3JrZXJOdW1iZXJdLAotCQkJCQkJICAmd2FsdXNhZ2VbUGFyYWxsZWxXb3JrZXJO dW1iZXJdKTsKKwlJbnN0ckVuZFBhcmFsbGVsUXVlcnkoJmJ1ZmZlcnVzYWdlW1BhcmFsbGVsV29y a2VyTnVtYmVyXSwgTlVMTCwKKwkJCQkJCSAgJndhbHVzYWdlW1BhcmFsbGVsV29ya2VyTnVtYmVy XSwgTlVMTCk7CiAKIAlpbmRleF9jbG9zZShpbmRleFJlbCwgaW5kZXhMb2NrbW9kZSk7CiAJdGFi bGVfY2xvc2UoaGVhcFJlbCwgaGVhcExvY2ttb2RlKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2FjY2Vzcy9uYnRyZWUvbmJ0c29ydC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRz b3J0LmMKaW5kZXggMzEzZmU2NmJjOTYuLjY2MjQ0Y2ZiMWY5IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9hY2Nlc3MvbmJ0cmVlL25idHNvcnQuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0 cmVlL25idHNvcnQuYwpAQCAtMTYxNyw3ICsxNjE3LDcgQEAgX2J0X2VuZF9wYXJhbGxlbChCVExl YWRlciAqYnRsZWFkZXIpCiAJICogb3Igd2UgbWlnaHQgZ2V0IGluY29tcGxldGUgZGF0YS4pCiAJ ICovCiAJZm9yIChpID0gMDsgaSA8IGJ0bGVhZGVyLT5wY3h0LT5ud29ya2Vyc19sYXVuY2hlZDsg aSsrKQotCQlJbnN0ckFjY3VtUGFyYWxsZWxRdWVyeSgmYnRsZWFkZXItPmJ1ZmZlcnVzYWdlW2ld LCAmYnRsZWFkZXItPndhbHVzYWdlW2ldKTsKKwkJSW5zdHJBY2N1bVBhcmFsbGVsUXVlcnkoJmJ0 bGVhZGVyLT5idWZmZXJ1c2FnZVtpXSwgTlVMTCwgJmJ0bGVhZGVyLT53YWx1c2FnZVtpXSk7CiAK IAkvKiBGcmVlIGxhc3QgcmVmZXJlbmNlIHRvIE1WQ0Mgc25hcHNob3QsIGlmIG9uZSB3YXMgdXNl ZCAqLwogCWlmIChJc01WQ0NTbmFwc2hvdChidGxlYWRlci0+c25hcHNob3QpKQpAQCAtMTgyNSw3 ICsxODI1LDcgQEAgX2J0X3BhcmFsbGVsX2J1aWxkX21haW4oZHNtX3NlZ21lbnQgKnNlZywgc2ht X3RvYyAqdG9jKQogCX0KIAogCS8qIFByZXBhcmUgdG8gdHJhY2sgYnVmZmVyIHVzYWdlIGR1cmlu ZyBwYXJhbGxlbCBleGVjdXRpb24gKi8KLQlJbnN0clN0YXJ0UGFyYWxsZWxRdWVyeSgpOworCUlu c3RyU3RhcnRQYXJhbGxlbFF1ZXJ5KE5VTEwpOwogCiAJLyogUGVyZm9ybSBzb3J0aW5nIG9mIHNw b29sLCBhbmQgcG9zc2libHkgYSBzcG9vbDIgKi8KIAlzb3J0bWVtID0gbWFpbnRlbmFuY2Vfd29y a19tZW0gLyBidHNoYXJlZC0+c2NhbnR1cGxlc29ydHN0YXRlczsKQEAgLTE4MzUsOCArMTgzNSw4 IEBAIF9idF9wYXJhbGxlbF9idWlsZF9tYWluKGRzbV9zZWdtZW50ICpzZWcsIHNobV90b2MgKnRv YykKIAkvKiBSZXBvcnQgV0FML2J1ZmZlciB1c2FnZSBkdXJpbmcgcGFyYWxsZWwgZXhlY3V0aW9u ICovCiAJYnVmZmVydXNhZ2UgPSBzaG1fdG9jX2xvb2t1cCh0b2MsIFBBUkFMTEVMX0tFWV9CVUZG RVJfVVNBR0UsIGZhbHNlKTsKIAl3YWx1c2FnZSA9IHNobV90b2NfbG9va3VwKHRvYywgUEFSQUxM RUxfS0VZX1dBTF9VU0FHRSwgZmFsc2UpOwotCUluc3RyRW5kUGFyYWxsZWxRdWVyeSgmYnVmZmVy dXNhZ2VbUGFyYWxsZWxXb3JrZXJOdW1iZXJdLAotCQkJCQkJICAmd2FsdXNhZ2VbUGFyYWxsZWxX b3JrZXJOdW1iZXJdKTsKKwlJbnN0ckVuZFBhcmFsbGVsUXVlcnkoJmJ1ZmZlcnVzYWdlW1BhcmFs bGVsV29ya2VyTnVtYmVyXSwgTlVMTCwKKwkJCQkJCSAgJndhbHVzYWdlW1BhcmFsbGVsV29ya2Vy TnVtYmVyXSwgTlVMTCk7CiAKICNpZmRlZiBCVFJFRV9CVUlMRF9TVEFUUwogCWlmIChsb2dfYnRy ZWVfYnVpbGRfc3RhdHMpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9leHBsYWlu LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9leHBsYWluLmMKaW5kZXggZTZlZGFlMDg0NWMuLmFj YzMyNTBmMTAxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9leHBsYWluLmMKKysr IGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXhwbGFpbi5jCkBAIC0zMiw2ICszMiw3IEBACiAjaW5j bHVkZSAicGFyc2VyL2FuYWx5emUuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2V0cmVlLmgiCiAj aW5jbHVkZSAicmV3cml0ZS9yZXdyaXRlSGFuZGxlci5oIgorI2luY2x1ZGUgInN0b3JhZ2UvYWlv X3N1YnN5cy5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYnVmbWdyLmgiCiAjaW5jbHVkZSAidGNvcC90 Y29wcHJvdC5oIgogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCkBAIC0xNDQsNiArMTQ1LDgg QEAgc3RhdGljIHZvaWQgc2hvd19mb3JlaWduc2Nhbl9pbmZvKEZvcmVpZ25TY2FuU3RhdGUgKmZz c3RhdGUsIEV4cGxhaW5TdGF0ZSAqZXMpOwogc3RhdGljIGNvbnN0IGNoYXIgKmV4cGxhaW5fZ2V0 X2luZGV4X25hbWUoT2lkIGluZGV4SWQpOwogc3RhdGljIGJvb2wgcGVla19idWZmZXJfdXNhZ2Uo RXhwbGFpblN0YXRlICplcywgY29uc3QgQnVmZmVyVXNhZ2UgKnVzYWdlKTsKIHN0YXRpYyB2b2lk IHNob3dfYnVmZmVyX3VzYWdlKEV4cGxhaW5TdGF0ZSAqZXMsIGNvbnN0IEJ1ZmZlclVzYWdlICp1 c2FnZSk7CitzdGF0aWMgYm9vbCBwZWVrX3N0b3JhZ2Vpb191c2FnZShFeHBsYWluU3RhdGUgKmVz LCBjb25zdCBTdG9yYWdlSU9Vc2FnZSAqdXNhZ2UpOworc3RhdGljIHZvaWQgc2hvd19zdG9yYWdl aW9fdXNhZ2UoRXhwbGFpblN0YXRlICplcywgY29uc3QgU3RvcmFnZUlPVXNhZ2UgKnVzYWdlKTsK IHN0YXRpYyB2b2lkIHNob3dfd2FsX3VzYWdlKEV4cGxhaW5TdGF0ZSAqZXMsIGNvbnN0IFdhbFVz YWdlICp1c2FnZSk7CiBzdGF0aWMgdm9pZCBzaG93X21lbW9yeV9jb3VudGVycyhFeHBsYWluU3Rh dGUgKmVzLAogCQkJCQkJCQkgY29uc3QgTWVtb3J5Q29udGV4dENvdW50ZXJzICptZW1fY291bnRl cnMpOwpAQCAtMzI2LDYgKzMyOSw4IEBAIHN0YW5kYXJkX0V4cGxhaW5PbmVRdWVyeShRdWVyeSAq cXVlcnksIGludCBjdXJzb3JPcHRpb25zLAogCQkJCXBsYW5kdXJhdGlvbjsKIAlCdWZmZXJVc2Fn ZSBidWZ1c2FnZV9zdGFydCwKIAkJCQlidWZ1c2FnZTsKKwlTdG9yYWdlSU9Vc2FnZSBzdG9yYWdl aW8sCisJCQkJc3RvcmFnZWlvX3N0YXJ0OwogCU1lbW9yeUNvbnRleHRDb3VudGVycyBtZW1fY291 bnRlcnM7CiAJTWVtb3J5Q29udGV4dCBwbGFubmVyX2N0eCA9IE5VTEw7CiAJTWVtb3J5Q29udGV4 dCBzYXZlZF9jdHggPSBOVUxMOwpAQCAtMzQ3LDcgKzM1MiwxMCBAQCBzdGFuZGFyZF9FeHBsYWlu T25lUXVlcnkoUXVlcnkgKnF1ZXJ5LCBpbnQgY3Vyc29yT3B0aW9ucywKIAl9CiAKIAlpZiAoZXMt PmJ1ZmZlcnMpCisJewogCQlidWZ1c2FnZV9zdGFydCA9IHBnQnVmZmVyVXNhZ2U7CisJCUdldFN0 b3JhZ2VJT1VzYWdlKCZzdG9yYWdlaW9fc3RhcnQpOworCX0KIAlJTlNUUl9USU1FX1NFVF9DVVJS RU5UKHBsYW5zdGFydCk7CiAKIAkvKiBwbGFuIHRoZSBxdWVyeSAqLwpAQCAtMzYyLDE2ICszNzAs MjAgQEAgc3RhbmRhcmRfRXhwbGFpbk9uZVF1ZXJ5KFF1ZXJ5ICpxdWVyeSwgaW50IGN1cnNvck9w dGlvbnMsCiAJCU1lbW9yeUNvbnRleHRNZW1Db25zdW1lZChwbGFubmVyX2N0eCwgJm1lbV9jb3Vu dGVycyk7CiAJfQogCi0JLyogY2FsYyBkaWZmZXJlbmNlcyBvZiBidWZmZXIgY291bnRlcnMuICov CisJLyogY2FsYyBkaWZmZXJlbmNlcyBvZiBidWZmZXIgYW5kIHN0b3JhZ2UgSS9PIGNvdW50ZXJz LiAqLwogCWlmIChlcy0+YnVmZmVycykKIAl7CiAJCW1lbXNldCgmYnVmdXNhZ2UsIDAsIHNpemVv ZihCdWZmZXJVc2FnZSkpOwogCQlCdWZmZXJVc2FnZUFjY3VtRGlmZigmYnVmdXNhZ2UsICZwZ0J1 ZmZlclVzYWdlLCAmYnVmdXNhZ2Vfc3RhcnQpOworCisJCUdldFN0b3JhZ2VJT1VzYWdlKCZzdG9y YWdlaW8pOworCQlTdG9yYWdlSU9Vc2FnZURpZmYoJnN0b3JhZ2VpbywgJnN0b3JhZ2Vpb19zdGFy dCk7CiAJfQogCiAJLyogcnVuIGl0IChpZiBuZWVkZWQpIGFuZCBwcm9kdWNlIG91dHB1dCAqLwog CUV4cGxhaW5PbmVQbGFuKHBsYW4sIGludG8sIGVzLCBxdWVyeVN0cmluZywgcGFyYW1zLCBxdWVy eUVudiwKIAkJCQkgICAmcGxhbmR1cmF0aW9uLCAoZXMtPmJ1ZmZlcnMgPyAmYnVmdXNhZ2UgOiBO VUxMKSwKKwkJCQkgICBlcy0+YnVmZmVycyA/ICZzdG9yYWdlaW8gOiBOVUxMLAogCQkJCSAgIGVz LT5tZW1vcnkgPyAmbWVtX2NvdW50ZXJzIDogTlVMTCk7CiB9CiAKQEAgLTQ5NSw3ICs1MDcsNyBA QCB2b2lkCiBFeHBsYWluT25lUGxhbihQbGFubmVkU3RtdCAqcGxhbm5lZHN0bXQsIEludG9DbGF1 c2UgKmludG8sIEV4cGxhaW5TdGF0ZSAqZXMsCiAJCQkgICBjb25zdCBjaGFyICpxdWVyeVN0cmlu ZywgUGFyYW1MaXN0SW5mbyBwYXJhbXMsCiAJCQkgICBRdWVyeUVudmlyb25tZW50ICpxdWVyeUVu diwgY29uc3QgaW5zdHJfdGltZSAqcGxhbmR1cmF0aW9uLAotCQkJICAgY29uc3QgQnVmZmVyVXNh Z2UgKmJ1ZnVzYWdlLAorCQkJICAgY29uc3QgQnVmZmVyVXNhZ2UgKmJ1ZnVzYWdlLCBjb25zdCBT dG9yYWdlSU9Vc2FnZSAqcGxhbnN0b3JhZ2VpbywKIAkJCSAgIGNvbnN0IE1lbW9yeUNvbnRleHRD b3VudGVycyAqbWVtX2NvdW50ZXJzKQogewogCURlc3RSZWNlaXZlciAqZGVzdDsKQEAgLTUwNSw2 ICs1MTcsNyBAQCBFeHBsYWluT25lUGxhbihQbGFubmVkU3RtdCAqcGxhbm5lZHN0bXQsIEludG9D bGF1c2UgKmludG8sIEV4cGxhaW5TdGF0ZSAqZXMsCiAJaW50CQkJZWZsYWdzOwogCWludAkJCWlu c3RydW1lbnRfb3B0aW9uID0gMDsKIAlTZXJpYWxpemVNZXRyaWNzIHNlcmlhbGl6ZU1ldHJpY3Mg PSB7MH07CisJU3RvcmFnZUlPVXNhZ2Ugc3RvcmFnZWlvX3N0YXJ0OwogCiAJQXNzZXJ0KHBsYW5u ZWRzdG10LT5jb21tYW5kVHlwZSAhPSBDTURfVVRJTElUWSk7CiAKQEAgLTUxNCw3ICs1MjcsMTkg QEAgRXhwbGFpbk9uZVBsYW4oUGxhbm5lZFN0bXQgKnBsYW5uZWRzdG10LCBJbnRvQ2xhdXNlICpp bnRvLCBFeHBsYWluU3RhdGUgKmVzLAogCQlpbnN0cnVtZW50X29wdGlvbiB8PSBJTlNUUlVNRU5U X1JPV1M7CiAKIAlpZiAoZXMtPmJ1ZmZlcnMpCisJeworCQlHZXRTdG9yYWdlSU9Vc2FnZSgmc3Rv cmFnZWlvX3N0YXJ0KTsKKworCQkvKgorCQkgKiBJbml0aWFsaXplIGdsb2JhbCB2YXJpYWJsZSBj b3VudGVycyBmb3IgcGFyYWxsZWwgcXVlcnkgd29ya2Vycy4KKwkJICogRXZlbiBpZiB0aGUgcXVl cnkgaXMgY2FuY2VsbGVkIG9uIHRoZSB3YXksIHRoZSBFWFBMQUlOIGV4ZWN1dGlvbgorCQkgKiBh bHdheXMgcGFzc2VzIGhlcmUsIHNvIGl0IGNhbiBiZSBpbml0aWFsaXplZCBoZXJlLgorCQkgKi8K KwkJcGdTdG9yYWdlSU9Vc2FnZVBhcmFsbGVsLmluYmxvY2sgPSAwOworCQlwZ1N0b3JhZ2VJT1Vz YWdlUGFyYWxsZWwub3V0YmxvY2sgPSAwOworCiAJCWluc3RydW1lbnRfb3B0aW9uIHw9IElOU1RS VU1FTlRfQlVGRkVSUzsKKwl9CiAJaWYgKGVzLT53YWwpCiAJCWluc3RydW1lbnRfb3B0aW9uIHw9 IElOU1RSVU1FTlRfV0FMOwogCkBAIC01OTgsOCArNjIzLDkgQEAgRXhwbGFpbk9uZVBsYW4oUGxh bm5lZFN0bXQgKnBsYW5uZWRzdG10LCBJbnRvQ2xhdXNlICppbnRvLCBFeHBsYWluU3RhdGUgKmVz LAogCS8qIENyZWF0ZSB0ZXh0dWFsIGR1bXAgb2YgcGxhbiB0cmVlICovCiAJRXhwbGFpblByaW50 UGxhbihlcywgcXVlcnlEZXNjKTsKIAotCS8qIFNob3cgYnVmZmVyIGFuZC9vciBtZW1vcnkgdXNh Z2UgaW4gcGxhbm5pbmcgKi8KLQlpZiAocGVla19idWZmZXJfdXNhZ2UoZXMsIGJ1ZnVzYWdlKSB8 fCBtZW1fY291bnRlcnMpCisJLyogU2hvdyBidWZmZXIsIHN0b3JhZ2UgSS9PLCBhbmQvb3IgbWVt b3J5IHVzYWdlIGluIHBsYW5uaW5nICovCisJaWYgKHBlZWtfYnVmZmVyX3VzYWdlKGVzLCBidWZ1 c2FnZSkgfHwgcGVla19zdG9yYWdlaW9fdXNhZ2UoZXMsIHBsYW5zdG9yYWdlaW8pIHx8CisJCW1l bV9jb3VudGVycykKIAl7CiAJCUV4cGxhaW5PcGVuR3JvdXAoIlBsYW5uaW5nIiwgIlBsYW5uaW5n IiwgdHJ1ZSwgZXMpOwogCkBAIC02MTEsOCArNjM3LDEwIEBAIEV4cGxhaW5PbmVQbGFuKFBsYW5u ZWRTdG10ICpwbGFubmVkc3RtdCwgSW50b0NsYXVzZSAqaW50bywgRXhwbGFpblN0YXRlICplcywK IAkJfQogCiAJCWlmIChidWZ1c2FnZSkKKwkJewogCQkJc2hvd19idWZmZXJfdXNhZ2UoZXMsIGJ1 ZnVzYWdlKTsKLQorCQkJc2hvd19zdG9yYWdlaW9fdXNhZ2UoZXMsIHBsYW5zdG9yYWdlaW8pOwor CQl9CiAJCWlmIChtZW1fY291bnRlcnMpCiAJCQlzaG93X21lbW9yeV9jb3VudGVycyhlcywgbWVt X2NvdW50ZXJzKTsKIApAQCAtNjY5LDYgKzY5NywzNCBAQCBFeHBsYWluT25lUGxhbihQbGFubmVk U3RtdCAqcGxhbm5lZHN0bXQsIEludG9DbGF1c2UgKmludG8sIEV4cGxhaW5TdGF0ZSAqZXMsCiAK IAl0b3RhbHRpbWUgKz0gZWxhcHNlZF90aW1lKCZzdGFydHRpbWUpOwogCisJLyogU2hvdyBzdG9y YWdlIEkvTyB1c2FnZSBpbiBleGVjdXRpb24gKi8KKwlpZiAoZXMtPmJ1ZmZlcnMpCisJeworCQlT dG9yYWdlSU9Vc2FnZSBzdG9yYWdlaW87CisKKwkJR2V0U3RvcmFnZUlPVXNhZ2UoJnN0b3JhZ2Vp byk7CisJCVN0b3JhZ2VJT1VzYWdlRGlmZigmc3RvcmFnZWlvLCAmc3RvcmFnZWlvX3N0YXJ0KTsK KwkJU3RvcmFnZUlPVXNhZ2VBZGQoJnN0b3JhZ2VpbywgJnBnU3RvcmFnZUlPVXNhZ2VQYXJhbGxl bCk7CisKKwkJaWYgKHBlZWtfc3RvcmFnZWlvX3VzYWdlKGVzLCAmc3RvcmFnZWlvKSkKKwkJewor CQkJRXhwbGFpbk9wZW5Hcm91cCgiRXhlY3V0aW9uIiwgIkV4ZWN1dGlvbiIsIHRydWUsIGVzKTsK KworCQkJaWYgKGVzLT5mb3JtYXQgPT0gRVhQTEFJTl9GT1JNQVRfVEVYVCkKKwkJCXsKKwkJCQlF eHBsYWluSW5kZW50VGV4dChlcyk7CisJCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZyhlcy0+c3Ry LCAiRXhlY3V0aW9uOlxuIik7CisJCQkJZXMtPmluZGVudCsrOworCQkJfQorCQkJc2hvd19zdG9y YWdlaW9fdXNhZ2UoZXMsICZzdG9yYWdlaW8pOworCisJCQlpZiAoZXMtPmZvcm1hdCA9PSBFWFBM QUlOX0ZPUk1BVF9URVhUKQorCQkJCWVzLT5pbmRlbnQtLTsKKworCQkJRXhwbGFpbkNsb3NlR3Jv dXAoIkV4ZWN1dGlvbiIsICJFeGVjdXRpb24iLCB0cnVlLCBlcyk7CisJCX0KKwl9CisKIAkvKgog CSAqIFdlIG9ubHkgcmVwb3J0IGV4ZWN1dGlvbiB0aW1lIGlmIHdlIGFjdHVhbGx5IHJhbiB0aGUg cXVlcnkgKHRoYXQgaXMsCiAJICogdGhlIHVzZXIgc3BlY2lmaWVkIEFOQUxZWkUpLCBhbmQgaWYg c3VtbWFyeSByZXBvcnRpbmcgaXMgZW5hYmxlZCAodGhlCkBAIC00MjczLDYgKzQzMjksNjUgQEAg c2hvd19idWZmZXJfdXNhZ2UoRXhwbGFpblN0YXRlICplcywgY29uc3QgQnVmZmVyVXNhZ2UgKnVz YWdlKQogCX0KIH0KIAorLyoKKyAqIFJldHVybiB3aGV0aGVyIHNob3dfc3RvcmFnZWlvX3VzYWdl IHdvdWxkIGhhdmUgYW55dGhpbmcgdG8gcHJpbnQsIGlmIGdpdmVuCisgKiB0aGUgc2FtZSAndXNh Z2UnIGRhdGEuICBOb3RlIHRoYXQgd2hlbiB0aGUgZm9ybWF0IGlzIGFueXRoaW5nIG90aGVyIHRo YW4KKyAqIHRleHQsIHdlIHByaW50IGV2ZW4gaWYgdGhlIGNvdW50ZXJzIGFyZSBhbGwgemVyb2Vz LgorICovCitzdGF0aWMgYm9vbAorcGVla19zdG9yYWdlaW9fdXNhZ2UoRXhwbGFpblN0YXRlICpl cywgY29uc3QgU3RvcmFnZUlPVXNhZ2UgKnVzYWdlKQoreworCWlmICh1c2FnZSA9PSBOVUxMKQor CQlyZXR1cm4gZmFsc2U7CisKKwkvKgorCSAqIFNpbmNlIHNob3dpbmcgb25seSB0aGUgSS9PIGV4 Y2x1ZGluZyBBSU8gd29ya2VycyB1bmRlcmVzdGltYXRlcyB0aGUKKwkgKiB0b3RhbCBJL08sIHRy ZWF0IHRoaXMgY2FzZSBhcyBoYXZpbmcgbm90aGluZyB0byBwcmludC4KKwkgKi8KKwlpZiAocGdh aW9fd29ya2Vyc19lbmFibGVkKCkpCisJCXJldHVybiBmYWxzZTsKKworCWlmIChlcy0+Zm9ybWF0 ICE9IEVYUExBSU5fRk9STUFUX1RFWFQpCisJCXJldHVybiB0cnVlOworCisJcmV0dXJuIHVzYWdl LT5pbmJsb2NrID4gMCB8fCB1c2FnZS0+b3V0YmxvY2sgPiAwOworfQorCisvKgorICogU2hvdyBz dG9yYWdlIEkvTyB1c2FnZS4KKyAqLworc3RhdGljIHZvaWQKK3Nob3dfc3RvcmFnZWlvX3VzYWdl KEV4cGxhaW5TdGF0ZSAqZXMsIGNvbnN0IFN0b3JhZ2VJT1VzYWdlICp1c2FnZSkKK3sKKwkvKgor CSAqIFNpbmNlIHNob3dpbmcgb25seSB0aGUgSS9PIGV4Y2x1ZGluZyBBSU8gd29ya2VycyB1bmRl cmVzdGltYXRlcyB0aGUKKwkgKiB0b3RhbCBJL08sIGRvIG5vdCBzaG93IGFueXRoaW5nLgorCSAq LworCWlmIChwZ2Fpb193b3JrZXJzX2VuYWJsZWQoKSkKKwkJcmV0dXJuOworCisJaWYgKGVzLT5m b3JtYXQgPT0gRVhQTEFJTl9GT1JNQVRfVEVYVCkKKwl7CisJCS8qIFNob3cgb25seSBwb3NpdGl2 ZSBjb3VudGVyIHZhbHVlcy4gKi8KKwkJaWYgKHVzYWdlLT5pbmJsb2NrIDw9IDAgJiYgdXNhZ2Ut Pm91dGJsb2NrIDw9IDApCisJCQlyZXR1cm47CisKKwkJRXhwbGFpbkluZGVudFRleHQoZXMpOwor CQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKGVzLT5zdHIsICJTdG9yYWdlIEkvTzoiKTsKKwkJYXBw ZW5kU3RyaW5nSW5mbyhlcy0+c3RyLCAiIHJlYWQ9JWxkIHRpbWVzIiwgKGxvbmcpIHVzYWdlLT5p bmJsb2NrKTsKKwkJYXBwZW5kU3RyaW5nSW5mbyhlcy0+c3RyLCAiIHdyaXRlPSVsZCB0aW1lcyIs IChsb25nKSB1c2FnZS0+b3V0YmxvY2spOworCisJCWFwcGVuZFN0cmluZ0luZm9DaGFyKGVzLT5z dHIsICdcbicpOworCX0KKwllbHNlCisJeworCQlFeHBsYWluUHJvcGVydHlJbnRlZ2VyKCJTdG9y YWdlIEkvTyBSZWFkIiwgTlVMTCwKKwkJCQkJCQkgICB1c2FnZS0+aW5ibG9jaywgZXMpOworCQlF eHBsYWluUHJvcGVydHlJbnRlZ2VyKCJTdG9yYWdlIEkvTyBSZWFkIiwgTlVMTCwKKwkJCQkJCQkg ICB1c2FnZS0+b3V0YmxvY2ssIGVzKTsKKwl9Cit9CisKIC8qCiAgKiBTaG93IFdBTCB1c2FnZSBk ZXRhaWxzLgogICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9wcmVwYXJlLmMg Yi9zcmMvYmFja2VuZC9jb21tYW5kcy9wcmVwYXJlLmMKaW5kZXggMzRiNjQxMGQ2YTIuLjg5Y2Uz Mzc3MzEzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9wcmVwYXJlLmMKKysrIGIv c3JjL2JhY2tlbmQvY29tbWFuZHMvcHJlcGFyZS5jCkBAIC01ODIsNiArNTgyLDggQEAgRXhwbGFp bkV4ZWN1dGVRdWVyeShFeGVjdXRlU3RtdCAqZXhlY3N0bXQsIEludG9DbGF1c2UgKmludG8sIEV4 cGxhaW5TdGF0ZSAqZXMsCiAJaW5zdHJfdGltZQlwbGFuZHVyYXRpb247CiAJQnVmZmVyVXNhZ2Ug YnVmdXNhZ2Vfc3RhcnQsCiAJCQkJYnVmdXNhZ2U7CisJU3RvcmFnZUlPVXNhZ2Ugc3RvcmFnZWlv LAorCQkJCXN0b3JhZ2Vpb19zdGFydDsKIAlNZW1vcnlDb250ZXh0Q291bnRlcnMgbWVtX2NvdW50 ZXJzOwogCU1lbW9yeUNvbnRleHQgcGxhbm5lcl9jdHggPSBOVUxMOwogCU1lbW9yeUNvbnRleHQg c2F2ZWRfY3R4ID0gTlVMTDsKQEAgLTU5Nyw3ICs1OTksMTEgQEAgRXhwbGFpbkV4ZWN1dGVRdWVy eShFeGVjdXRlU3RtdCAqZXhlY3N0bXQsIEludG9DbGF1c2UgKmludG8sIEV4cGxhaW5TdGF0ZSAq ZXMsCiAJfQogCiAJaWYgKGVzLT5idWZmZXJzKQorCXsKIAkJYnVmdXNhZ2Vfc3RhcnQgPSBwZ0J1 ZmZlclVzYWdlOworCQlHZXRTdG9yYWdlSU9Vc2FnZSgmc3RvcmFnZWlvX3N0YXJ0KTsKKwl9CisK IAlJTlNUUl9USU1FX1NFVF9DVVJSRU5UKHBsYW5zdGFydCk7CiAKIAkvKiBMb29rIGl0IHVwIGlu IHRoZSBoYXNoIHRhYmxlICovCkBAIC02NDcsNiArNjUzLDcgQEAgRXhwbGFpbkV4ZWN1dGVRdWVy eShFeGVjdXRlU3RtdCAqZXhlY3N0bXQsIEludG9DbGF1c2UgKmludG8sIEV4cGxhaW5TdGF0ZSAq ZXMsCiAJewogCQltZW1zZXQoJmJ1ZnVzYWdlLCAwLCBzaXplb2YoQnVmZmVyVXNhZ2UpKTsKIAkJ QnVmZmVyVXNhZ2VBY2N1bURpZmYoJmJ1ZnVzYWdlLCAmcGdCdWZmZXJVc2FnZSwgJmJ1ZnVzYWdl X3N0YXJ0KTsKKwkJR2V0U3RvcmFnZUlPVXNhZ2UoJnN0b3JhZ2Vpbyk7CiAJfQogCiAJcGxhbl9s aXN0ID0gY3BsYW4tPnN0bXRfbGlzdDsKQEAgLTY1OSw2ICs2NjYsNyBAQCBFeHBsYWluRXhlY3V0 ZVF1ZXJ5KEV4ZWN1dGVTdG10ICpleGVjc3RtdCwgSW50b0NsYXVzZSAqaW50bywgRXhwbGFpblN0 YXRlICplcywKIAkJaWYgKHBzdG10LT5jb21tYW5kVHlwZSAhPSBDTURfVVRJTElUWSkKIAkJCUV4 cGxhaW5PbmVQbGFuKHBzdG10LCBpbnRvLCBlcywgcXVlcnlfc3RyaW5nLCBwYXJhbUxJLCBwc3Rh dGUtPnBfcXVlcnlFbnYsCiAJCQkJCQkgICAmcGxhbmR1cmF0aW9uLCAoZXMtPmJ1ZmZlcnMgPyAm YnVmdXNhZ2UgOiBOVUxMKSwKKwkJCQkJCSAgIGVzLT5idWZmZXJzID8gJnN0b3JhZ2VpbyA6IE5V TEwsCiAJCQkJCQkgICBlcy0+bWVtb3J5ID8gJm1lbV9jb3VudGVycyA6IE5VTEwpOwogCQllbHNl CiAJCQlFeHBsYWluT25lVXRpbGl0eShwc3RtdC0+dXRpbGl0eVN0bXQsIGludG8sIGVzLCBwc3Rh dGUsIHBhcmFtTEkpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFy YWxsZWwuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggMGZl ZWExZDMwZWMuLjIzZDAyOGVlYTdlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92 YWN1dW1wYXJhbGxlbC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVs LmMKQEAgLTczNyw3ICs3MzcsNyBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19hbGxfaW5kZXhl cyhQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIGludCBudW1faW5kZXhfc2NhbgogCQlXYWl0Rm9y UGFyYWxsZWxXb3JrZXJzVG9GaW5pc2gocHZzLT5wY3h0KTsKIAogCQlmb3IgKGludCBpID0gMDsg aSA8IHB2cy0+cGN4dC0+bndvcmtlcnNfbGF1bmNoZWQ7IGkrKykKLQkJCUluc3RyQWNjdW1QYXJh bGxlbFF1ZXJ5KCZwdnMtPmJ1ZmZlcl91c2FnZVtpXSwgJnB2cy0+d2FsX3VzYWdlW2ldKTsKKwkJ CUluc3RyQWNjdW1QYXJhbGxlbFF1ZXJ5KCZwdnMtPmJ1ZmZlcl91c2FnZVtpXSwgTlVMTCwgJnB2 cy0+d2FsX3VzYWdlW2ldKTsKIAl9CiAKIAkvKgpAQCAtMTA4Myw3ICsxMDgzLDcgQEAgcGFyYWxs ZWxfdmFjdXVtX21haW4oZHNtX3NlZ21lbnQgKnNlZywgc2htX3RvYyAqdG9jKQogCWVycm9yX2Nv bnRleHRfc3RhY2sgPSAmZXJyY2FsbGJhY2s7CiAKIAkvKiBQcmVwYXJlIHRvIHRyYWNrIGJ1ZmZl ciB1c2FnZSBkdXJpbmcgcGFyYWxsZWwgZXhlY3V0aW9uICovCi0JSW5zdHJTdGFydFBhcmFsbGVs UXVlcnkoKTsKKwlJbnN0clN0YXJ0UGFyYWxsZWxRdWVyeShOVUxMKTsKIAogCS8qIFByb2Nlc3Mg aW5kZXhlcyB0byBwZXJmb3JtIHZhY3V1bS9jbGVhbnVwICovCiAJcGFyYWxsZWxfdmFjdXVtX3By b2Nlc3Nfc2FmZV9pbmRleGVzKCZwdnMpOwpAQCAtMTA5MSw4ICsxMDkxLDggQEAgcGFyYWxsZWxf dmFjdXVtX21haW4oZHNtX3NlZ21lbnQgKnNlZywgc2htX3RvYyAqdG9jKQogCS8qIFJlcG9ydCBi dWZmZXIvV0FMIHVzYWdlIGR1cmluZyBwYXJhbGxlbCBleGVjdXRpb24gKi8KIAlidWZmZXJfdXNh Z2UgPSBzaG1fdG9jX2xvb2t1cCh0b2MsIFBBUkFMTEVMX1ZBQ1VVTV9LRVlfQlVGRkVSX1VTQUdF LCBmYWxzZSk7CiAJd2FsX3VzYWdlID0gc2htX3RvY19sb29rdXAodG9jLCBQQVJBTExFTF9WQUNV VU1fS0VZX1dBTF9VU0FHRSwgZmFsc2UpOwotCUluc3RyRW5kUGFyYWxsZWxRdWVyeSgmYnVmZmVy X3VzYWdlW1BhcmFsbGVsV29ya2VyTnVtYmVyXSwKLQkJCQkJCSAgJndhbF91c2FnZVtQYXJhbGxl bFdvcmtlck51bWJlcl0pOworCUluc3RyRW5kUGFyYWxsZWxRdWVyeSgmYnVmZmVyX3VzYWdlW1Bh cmFsbGVsV29ya2VyTnVtYmVyXSwgTlVMTCwKKwkJCQkJCSAgJndhbF91c2FnZVtQYXJhbGxlbFdv cmtlck51bWJlcl0sIE5VTEwpOwogCiAJLyogUmVwb3J0IGFueSByZW1haW5pbmcgY29zdC1iYXNl ZCB2YWN1dW0gZGVsYXkgdGltZSAqLwogCWlmICh0cmFja19jb3N0X2RlbGF5X3RpbWluZykKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNQYXJhbGxlbC5jIGIvc3JjL2JhY2tl bmQvZXhlY3V0b3IvZXhlY1BhcmFsbGVsLmMKaW5kZXggZjA5OGE1NTU3Y2YuLjdhNDA3YzRlY2Y3 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjUGFyYWxsZWwuYworKysgYi9z cmMvYmFja2VuZC9leGVjdXRvci9leGVjUGFyYWxsZWwuYwpAQCAtNjUsNiArNjUsNyBAQAogI2Rl ZmluZSBQQVJBTExFTF9LRVlfUVVFUllfVEVYVAkJVUlOVDY0Q09OU1QoMHhFMDAwMDAwMDAwMDAw MDA4KQogI2RlZmluZSBQQVJBTExFTF9LRVlfSklUX0lOU1RSVU1FTlRBVElPTiBVSU5UNjRDT05T VCgweEUwMDAwMDAwMDAwMDAwMDkpCiAjZGVmaW5lIFBBUkFMTEVMX0tFWV9XQUxfVVNBR0UJCQlV SU5UNjRDT05TVCgweEUwMDAwMDAwMDAwMDAwMEEpCisjZGVmaW5lIFBBUkFMTEVMX0tFWV9TVE9S QUdFSU9fVVNBR0UJVUlOVDY0Q09OU1QoMHhFMDAwMDAwMDAwMDAwMDBCKQogCiAjZGVmaW5lIFBB UkFMTEVMX1RVUExFX1FVRVVFX1NJWkUJCTY1NTM2CiAKQEAgLTYxMCw2ICs2MTEsNyBAQCBFeGVj SW5pdFBhcmFsbGVsUGxhbihQbGFuU3RhdGUgKnBsYW5zdGF0ZSwgRVN0YXRlICplc3RhdGUsCiAJ Y2hhcgkgICAqcHN0bXRfc3BhY2U7CiAJY2hhcgkgICAqcGFyYW1saXN0aW5mb19zcGFjZTsKIAlC dWZmZXJVc2FnZSAqYnVmdXNhZ2Vfc3BhY2U7CisJU3RvcmFnZUlPVXNhZ2UgKnN0b3JhZ2Vpb3Vz YWdlX3NwYWNlOwogCVdhbFVzYWdlICAgKndhbHVzYWdlX3NwYWNlOwogCVNoYXJlZEV4ZWN1dG9y SW5zdHJ1bWVudGF0aW9uICppbnN0cnVtZW50YXRpb24gPSBOVUxMOwogCVNoYXJlZEppdEluc3Ry dW1lbnRhdGlvbiAqaml0X2luc3RydW1lbnRhdGlvbiA9IE5VTEw7CkBAIC02OTEsNiArNjkzLDEz IEBAIEV4ZWNJbml0UGFyYWxsZWxQbGFuKFBsYW5TdGF0ZSAqcGxhbnN0YXRlLCBFU3RhdGUgKmVz dGF0ZSwKIAkJCQkJCSAgIG11bF9zaXplKHNpemVvZihXYWxVc2FnZSksIHBjeHQtPm53b3JrZXJz KSk7CiAJc2htX3RvY19lc3RpbWF0ZV9rZXlzKCZwY3h0LT5lc3RpbWF0b3IsIDEpOwogCisJLyoK KwkgKiBTYW1lIHRoaW5nIGZvciBTdG9yYWdlSU9Vc2FnZS4KKwkgKi8KKwlzaG1fdG9jX2VzdGlt YXRlX2NodW5rKCZwY3h0LT5lc3RpbWF0b3IsCisJCQkJCQkgICBtdWxfc2l6ZShzaXplb2YoU3Rv cmFnZUlPVXNhZ2UpLCBwY3h0LT5ud29ya2VycykpOworCXNobV90b2NfZXN0aW1hdGVfa2V5cygm cGN4dC0+ZXN0aW1hdG9yLCAxKTsKKwogCS8qIEVzdGltYXRlIHNwYWNlIGZvciB0dXBsZSBxdWV1 ZXMuICovCiAJc2htX3RvY19lc3RpbWF0ZV9jaHVuaygmcGN4dC0+ZXN0aW1hdG9yLAogCQkJCQkJ ICAgbXVsX3NpemUoUEFSQUxMRUxfVFVQTEVfUVVFVUVfU0laRSwgcGN4dC0+bndvcmtlcnMpKTsK QEAgLTc4Niw2ICs3OTUsMTIgQEAgRXhlY0luaXRQYXJhbGxlbFBsYW4oUGxhblN0YXRlICpwbGFu c3RhdGUsIEVTdGF0ZSAqZXN0YXRlLAogCXNobV90b2NfaW5zZXJ0KHBjeHQtPnRvYywgUEFSQUxM RUxfS0VZX1dBTF9VU0FHRSwgd2FsdXNhZ2Vfc3BhY2UpOwogCXBlaS0+d2FsX3VzYWdlID0gd2Fs dXNhZ2Vfc3BhY2U7CiAKKwkvKiBTYW1lIGZvciBTdG9yYWdlSU9Vc2FnZS4gKi8KKwlzdG9yYWdl aW91c2FnZV9zcGFjZSA9IHNobV90b2NfYWxsb2NhdGUocGN4dC0+dG9jLAorCQkJCQkJCQkJCQlt dWxfc2l6ZShzaXplb2YoU3RvcmFnZUlPVXNhZ2UpLCBwY3h0LT5ud29ya2VycykpOworCXNobV90 b2NfaW5zZXJ0KHBjeHQtPnRvYywgUEFSQUxMRUxfS0VZX1NUT1JBR0VJT19VU0FHRSwgc3RvcmFn ZWlvdXNhZ2Vfc3BhY2UpOworCXBlaS0+c3RvcmFnZWlvX3VzYWdlID0gc3RvcmFnZWlvdXNhZ2Vf c3BhY2U7CisKIAkvKiBTZXQgdXAgdGhlIHR1cGxlIHF1ZXVlcyB0aGF0IHRoZSB3b3JrZXJzIHdp bGwgd3JpdGUgaW50by4gKi8KIAlwZWktPnRxdWV1ZSA9IEV4ZWNQYXJhbGxlbFNldHVwVHVwbGVR dWV1ZXMocGN4dCwgZmFsc2UpOwogCkBAIC0xMTkxLDExICsxMjA2LDExIEBAIEV4ZWNQYXJhbGxl bEZpbmlzaChQYXJhbGxlbEV4ZWN1dG9ySW5mbyAqcGVpKQogCVdhaXRGb3JQYXJhbGxlbFdvcmtl cnNUb0ZpbmlzaChwZWktPnBjeHQpOwogCiAJLyoKLQkgKiBOZXh0LCBhY2N1bXVsYXRlIGJ1ZmZl ci9XQUwgdXNhZ2UuICAoVGhpcyBtdXN0IHdhaXQgZm9yIHRoZSB3b3JrZXJzIHRvCi0JICogZmlu aXNoLCBvciB3ZSBtaWdodCBnZXQgaW5jb21wbGV0ZSBkYXRhLikKKwkgKiBOZXh0LCBhY2N1bXVs YXRlIGJ1ZmZlciwgV0FMLCBhbmQgU3RvcmFnZSBJL08gdXNhZ2UuIChUaGlzIG11c3Qgd2FpdAor CSAqIGZvciB0aGUgd29ya2VycyB0byBmaW5pc2gsIG9yIHdlIG1pZ2h0IGdldCBpbmNvbXBsZXRl IGRhdGEuKQogCSAqLwogCWZvciAoaSA9IDA7IGkgPCBud29ya2VyczsgaSsrKQotCQlJbnN0ckFj Y3VtUGFyYWxsZWxRdWVyeSgmcGVpLT5idWZmZXJfdXNhZ2VbaV0sICZwZWktPndhbF91c2FnZVtp XSk7CisJCUluc3RyQWNjdW1QYXJhbGxlbFF1ZXJ5KCZwZWktPmJ1ZmZlcl91c2FnZVtpXSwgJnBl aS0+c3RvcmFnZWlvX3VzYWdlW2ldLCAmcGVpLT53YWxfdXNhZ2VbaV0pOwogCiAJcGVpLT5maW5p c2hlZCA9IHRydWU7CiB9CkBAIC0xNDMxLDYgKzE0NDYsOCBAQCBQYXJhbGxlbFF1ZXJ5TWFpbihk c21fc2VnbWVudCAqc2VnLCBzaG1fdG9jICp0b2MpCiB7CiAJRml4ZWRQYXJhbGxlbEV4ZWN1dG9y U3RhdGUgKmZwZXM7CiAJQnVmZmVyVXNhZ2UgKmJ1ZmZlcl91c2FnZTsKKwlTdG9yYWdlSU9Vc2Fn ZSAqc3RvcmFnZWlvX3VzYWdlOworCVN0b3JhZ2VJT1VzYWdlIHN0b3JhZ2Vpb191c2FnZV9zdGFy dDsKIAlXYWxVc2FnZSAgICp3YWxfdXNhZ2U7CiAJRGVzdFJlY2VpdmVyICpyZWNlaXZlcjsKIAlR dWVyeURlc2MgICpxdWVyeURlc2M7CkBAIC0xNDg0LDEzICsxNTAxLDE0IEBAIFBhcmFsbGVsUXVl cnlNYWluKGRzbV9zZWdtZW50ICpzZWcsIHNobV90b2MgKnRvYykKIAlFeGVjU2V0VHVwbGVCb3Vu ZChmcGVzLT50dXBsZXNfbmVlZGVkLCBxdWVyeURlc2MtPnBsYW5zdGF0ZSk7CiAKIAkvKgotCSAq IFByZXBhcmUgdG8gdHJhY2sgYnVmZmVyL1dBTCB1c2FnZSBkdXJpbmcgcXVlcnkgZXhlY3V0aW9u LgorCSAqIFByZXBhcmUgdG8gdHJhY2sgYnVmZmVyLCBXQUwsIGFuZCBTdG9yYWdlSS9PIHVzYWdl IGR1cmluZyBxdWVyeQorCSAqIGV4ZWN1dGlvbi4KIAkgKgogCSAqIFdlIGRvIHRoaXMgYWZ0ZXIg c3RhcnRpbmcgdXAgdGhlIGV4ZWN1dG9yIHRvIG1hdGNoIHdoYXQgaGFwcGVucyBpbiB0aGUKIAkg KiBsZWFkZXIsIHdoaWNoIGFsc28gZG9lc24ndCBjb3VudCBidWZmZXIgYWNjZXNzZXMgYW5kIFdB TCBhY3Rpdml0eSB0aGF0CiAJICogb2NjdXIgZHVyaW5nIGV4ZWN1dG9yIHN0YXJ0dXAuCiAJICov Ci0JSW5zdHJTdGFydFBhcmFsbGVsUXVlcnkoKTsKKwlJbnN0clN0YXJ0UGFyYWxsZWxRdWVyeSgm c3RvcmFnZWlvX3VzYWdlX3N0YXJ0KTsKIAogCS8qCiAJICogUnVuIHRoZSBwbGFuLiAgSWYgd2Ug c3BlY2lmaWVkIGEgdHVwbGUgYm91bmQsIGJlIGNhcmVmdWwgbm90IHRvIGRlbWFuZApAQCAtMTUw MywxMSArMTUyMSwxNCBAQCBQYXJhbGxlbFF1ZXJ5TWFpbihkc21fc2VnbWVudCAqc2VnLCBzaG1f dG9jICp0b2MpCiAJLyogU2h1dCBkb3duIHRoZSBleGVjdXRvciAqLwogCUV4ZWN1dG9yRmluaXNo KHF1ZXJ5RGVzYyk7CiAKLQkvKiBSZXBvcnQgYnVmZmVyL1dBTCB1c2FnZSBkdXJpbmcgcGFyYWxs ZWwgZXhlY3V0aW9uLiAqLworCS8qIFJlcG9ydCBidWZmZXIsIFdBTCwgYW5kIHN0b3JhZ2UgSS9P IHVzYWdlIGR1cmluZyBwYXJhbGxlbCBleGVjdXRpb24uICovCiAJYnVmZmVyX3VzYWdlID0gc2ht X3RvY19sb29rdXAodG9jLCBQQVJBTExFTF9LRVlfQlVGRkVSX1VTQUdFLCBmYWxzZSk7CisJc3Rv cmFnZWlvX3VzYWdlID0gc2htX3RvY19sb29rdXAodG9jLCBQQVJBTExFTF9LRVlfU1RPUkFHRUlP X1VTQUdFLCBmYWxzZSk7CiAJd2FsX3VzYWdlID0gc2htX3RvY19sb29rdXAodG9jLCBQQVJBTExF TF9LRVlfV0FMX1VTQUdFLCBmYWxzZSk7CiAJSW5zdHJFbmRQYXJhbGxlbFF1ZXJ5KCZidWZmZXJf dXNhZ2VbUGFyYWxsZWxXb3JrZXJOdW1iZXJdLAotCQkJCQkJICAmd2FsX3VzYWdlW1BhcmFsbGVs V29ya2VyTnVtYmVyXSk7CisJCQkJCQkgICZzdG9yYWdlaW9fdXNhZ2VbUGFyYWxsZWxXb3JrZXJO dW1iZXJdLAorCQkJCQkJICAmd2FsX3VzYWdlW1BhcmFsbGVsV29ya2VyTnVtYmVyXSwKKwkJCQkJ CSAgJnN0b3JhZ2Vpb191c2FnZV9zdGFydCk7CiAKIAkvKiBSZXBvcnQgaW5zdHJ1bWVudGF0aW9u IGRhdGEgaWYgYW55IGluc3RydW1lbnRhdGlvbiBvcHRpb25zIGFyZSBzZXQuICovCiAJaWYgKGlu c3RydW1lbnRhdGlvbiAhPSBOVUxMKQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Iv aW5zdHJ1bWVudC5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvaW5zdHJ1bWVudC5jCmluZGV4IDU2 ZTYzNWY0NzAwLi45Y2IwZTkzMDBiNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Iv aW5zdHJ1bWVudC5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2luc3RydW1lbnQuYwpAQCAt MTMsMTYgKzEzLDIyIEBACiAgKi8KICNpbmNsdWRlICJwb3N0Z3Jlcy5oIgogCisjaW5jbHVkZSA8 c3lzL3Jlc291cmNlLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKICNpbmNsdWRlICJleGVjdXRv ci9pbnN0cnVtZW50LmgiCisjaW5jbHVkZSAic3RvcmFnZS9haW9fc3Vic3lzLmgiCiAKIEJ1ZmZl clVzYWdlIHBnQnVmZmVyVXNhZ2U7CiBzdGF0aWMgQnVmZmVyVXNhZ2Ugc2F2ZV9wZ0J1ZmZlclVz YWdlOworCitTdG9yYWdlSU9Vc2FnZSBwZ1N0b3JhZ2VJT1VzYWdlUGFyYWxsZWw7CS8qIG9ubHkg Y291bnQgcGFyYWxsZWwgd29ya2VycycKKwkJCQkJCQkJCQkJICogdXNhZ2UgKi8KIFdhbFVzYWdl CXBnV2FsVXNhZ2U7CiBzdGF0aWMgV2FsVXNhZ2Ugc2F2ZV9wZ1dhbFVzYWdlOwogCiBzdGF0aWMg dm9pZCBCdWZmZXJVc2FnZUFkZChCdWZmZXJVc2FnZSAqZHN0LCBjb25zdCBCdWZmZXJVc2FnZSAq YWRkKTsKK3ZvaWQJCVN0b3JhZ2VJT1VzYWdlQWRkKFN0b3JhZ2VJT1VzYWdlICpkc3QsIGNvbnN0 IFN0b3JhZ2VJT1VzYWdlICphZGQpOwogc3RhdGljIHZvaWQgV2FsVXNhZ2VBZGQoV2FsVXNhZ2Ug KmRzdCwgV2FsVXNhZ2UgKmFkZCk7CiAKIApAQCAtMTk3LDI3ICsyMDMsNDcgQEAgSW5zdHJBZ2dO b2RlKEluc3RydW1lbnRhdGlvbiAqZHN0LCBJbnN0cnVtZW50YXRpb24gKmFkZCkKIAogLyogbm90 ZSBjdXJyZW50IHZhbHVlcyBkdXJpbmcgcGFyYWxsZWwgZXhlY3V0b3Igc3RhcnR1cCAqLwogdm9p ZAotSW5zdHJTdGFydFBhcmFsbGVsUXVlcnkodm9pZCkKK0luc3RyU3RhcnRQYXJhbGxlbFF1ZXJ5 KFN0b3JhZ2VJT1VzYWdlICpzdG9yYWdlaW91c2FnZSkKIHsKIAlzYXZlX3BnQnVmZmVyVXNhZ2Ug PSBwZ0J1ZmZlclVzYWdlOwogCXNhdmVfcGdXYWxVc2FnZSA9IHBnV2FsVXNhZ2U7CisKKwlpZiAo c3RvcmFnZWlvdXNhZ2UgIT0gTlVMTCkKKwkJR2V0U3RvcmFnZUlPVXNhZ2Uoc3RvcmFnZWlvdXNh Z2UpOwogfQogCiAvKiByZXBvcnQgdXNhZ2UgYWZ0ZXIgcGFyYWxsZWwgZXhlY3V0b3Igc2h1dGRv d24gKi8KIHZvaWQKLUluc3RyRW5kUGFyYWxsZWxRdWVyeShCdWZmZXJVc2FnZSAqYnVmdXNhZ2Us IFdhbFVzYWdlICp3YWx1c2FnZSkKK0luc3RyRW5kUGFyYWxsZWxRdWVyeShCdWZmZXJVc2FnZSAq YnVmdXNhZ2UsIFN0b3JhZ2VJT1VzYWdlICpzdG9yYWdlaW91c2FnZSwgV2FsVXNhZ2UgKndhbHVz YWdlLCBTdG9yYWdlSU9Vc2FnZSAqc3RvcmFnZWlvdXNhZ2Vfc3RhcnQpCiB7CiAJbWVtc2V0KGJ1 ZnVzYWdlLCAwLCBzaXplb2YoQnVmZmVyVXNhZ2UpKTsKIAlCdWZmZXJVc2FnZUFjY3VtRGlmZihi dWZ1c2FnZSwgJnBnQnVmZmVyVXNhZ2UsICZzYXZlX3BnQnVmZmVyVXNhZ2UpOworCisJaWYgKHN0 b3JhZ2Vpb3VzYWdlICE9IE5VTEwgJiYgc3RvcmFnZWlvdXNhZ2Vfc3RhcnQgIT0gTlVMTCkKKwl7 CisJCXN0cnVjdCBTdG9yYWdlSU9Vc2FnZSBzdG9yYWdlaW91c2FnZV9lbmQ7CisKKwkJR2V0U3Rv cmFnZUlPVXNhZ2UoJnN0b3JhZ2Vpb3VzYWdlX2VuZCk7CisKKwkJbWVtc2V0KHN0b3JhZ2Vpb3Vz YWdlLCAwLCBzaXplb2YoU3RvcmFnZUlPVXNhZ2UpKTsKKwkJU3RvcmFnZUlPVXNhZ2VBY2N1bURp ZmYoc3RvcmFnZWlvdXNhZ2UsICZzdG9yYWdlaW91c2FnZV9lbmQsIHN0b3JhZ2Vpb3VzYWdlX3N0 YXJ0KTsKKworCQllcmVwb3J0KERFQlVHMSwKKwkJCQkoZXJybXNnKCJQYXJhbGxlbCB3b3JrZXIn cyBzdG9yYWdlIEkvTyB0aW1lczogaW5ibG9jazolbGQgb3V0YmxvY2s6JWxkIiwKKwkJCQkJCXN0 b3JhZ2Vpb3VzYWdlLT5pbmJsb2NrLCBzdG9yYWdlaW91c2FnZS0+b3V0YmxvY2spKSk7CisJfQog CW1lbXNldCh3YWx1c2FnZSwgMCwgc2l6ZW9mKFdhbFVzYWdlKSk7CiAJV2FsVXNhZ2VBY2N1bURp ZmYod2FsdXNhZ2UsICZwZ1dhbFVzYWdlLCAmc2F2ZV9wZ1dhbFVzYWdlKTsKIH0KIAogLyogYWNj dW11bGF0ZSB3b3JrIGRvbmUgYnkgd29ya2VycyBpbiBsZWFkZXIncyBzdGF0cyAqLwogdm9pZAot SW5zdHJBY2N1bVBhcmFsbGVsUXVlcnkoQnVmZmVyVXNhZ2UgKmJ1ZnVzYWdlLCBXYWxVc2FnZSAq d2FsdXNhZ2UpCitJbnN0ckFjY3VtUGFyYWxsZWxRdWVyeShCdWZmZXJVc2FnZSAqYnVmdXNhZ2Us IFN0b3JhZ2VJT1VzYWdlICpzdG9yYWdlaW91c2FnZSwgV2FsVXNhZ2UgKndhbHVzYWdlKQogewog CUJ1ZmZlclVzYWdlQWRkKCZwZ0J1ZmZlclVzYWdlLCBidWZ1c2FnZSk7CisKKwlpZiAoc3RvcmFn ZWlvdXNhZ2UgIT0gTlVMTCkKKwkJU3RvcmFnZUlPVXNhZ2VBZGQoJnBnU3RvcmFnZUlPVXNhZ2VQ YXJhbGxlbCwgc3RvcmFnZWlvdXNhZ2UpOwogCVdhbFVzYWdlQWRkKCZwZ1dhbFVzYWdlLCB3YWx1 c2FnZSk7CiB9CiAKQEAgLTI3Myw2ICsyOTksNTMgQEAgQnVmZmVyVXNhZ2VBY2N1bURpZmYoQnVm ZmVyVXNhZ2UgKmRzdCwKIAkJCQkJCSAgYWRkLT50ZW1wX2Jsa193cml0ZV90aW1lLCBzdWItPnRl bXBfYmxrX3dyaXRlX3RpbWUpOwogfQogCisvKiBoZWxwZXIgZnVuY3Rpb25zIGZvciBTdG9yYWdl SU9Vc2FnZSB1c2FnZSBhY2N1bXVsYXRpb24gKi8KK3ZvaWQKK1N0b3JhZ2VJT1VzYWdlQWRkKFN0 b3JhZ2VJT1VzYWdlICpkc3QsIGNvbnN0IFN0b3JhZ2VJT1VzYWdlICphZGQpCit7CisJZHN0LT5p bmJsb2NrICs9IGFkZC0+aW5ibG9jazsKKwlkc3QtPm91dGJsb2NrICs9IGFkZC0+b3V0YmxvY2s7 Cit9CisKKy8qIGRzdCArPSBhZGQgLSBzdWIgKi8KK3ZvaWQKK1N0b3JhZ2VJT1VzYWdlQWNjdW1E aWZmKFN0b3JhZ2VJT1VzYWdlICpkc3QsIGNvbnN0IFN0b3JhZ2VJT1VzYWdlICphZGQsIGNvbnN0 IFN0b3JhZ2VJT1VzYWdlICpzdWIpCit7CisJZHN0LT5pbmJsb2NrICs9IGFkZC0+aW5ibG9jayAt IHN1Yi0+aW5ibG9jazsKKwlkc3QtPm91dGJsb2NrICs9IGFkZC0+b3V0YmxvY2sgLSBzdWItPm91 dGJsb2NrOworfQorCisvKiBkc3QgLT0gc3ViICovCit2b2lkCitTdG9yYWdlSU9Vc2FnZURpZmYo U3RvcmFnZUlPVXNhZ2UgKmRzdCwgY29uc3QgU3RvcmFnZUlPVXNhZ2UgKnN1YikKK3sKKwlkc3Qt PmluYmxvY2sgLT0gc3ViLT5pbmJsb2NrOworCWRzdC0+b3V0YmxvY2sgLT0gc3ViLT5vdXRibG9j azsKK30KKworLyogQ2FwdHVyZXMgdGhlIGN1cnJlbnQgc3RvcmFnZSBJL08gdXNhZ2Ugc3RhdGlz dGljcyAqLwordm9pZAorR2V0U3RvcmFnZUlPVXNhZ2UoU3RvcmFnZUlPVXNhZ2UgKnVzYWdlKQor eworCXN0cnVjdCBydXNhZ2UgcnVzYWdlOworCisJLyoKKwkgKiBTaW5jZSBnZXR0aW5nIHRoZSBJ L08gZXhjbHVkaW5nIEFJTyB3b3JrZXJzIHVuZGVyZXN0aW1hdGVzIHRoZSB0b3RhbAorCSAqIEkv TywgZG9uJ3QgZ2V0IHRoZSBJL08gdXNhZ2Ugc3RhdGlzdGljcyB3aGVuIEFJTyB3b3JrZXIgaXMg ZW5hYmxlZC4KKwkgKi8KKwlpZiAocGdhaW9fd29ya2Vyc19lbmFibGVkKCkpCisJCXJldHVybjsK KworCWlmIChnZXRydXNhZ2UoUlVTQUdFX1NFTEYsICZydXNhZ2UpKQorCXsKKwkJZXJlcG9ydChF UlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX1NZU1RFTV9FUlJPUiksCisJCQkJIGVycm1zZygi Z2V0cnVzYWdlKCkgZmFpbGVkOiAlbSIpKSk7CisJfQorCXVzYWdlLT5pbmJsb2NrID0gcnVzYWdl LnJ1X2luYmxvY2s7CisJdXNhZ2UtPm91dGJsb2NrID0gcnVzYWdlLnJ1X291YmxvY2s7Cit9CisK IC8qIGhlbHBlciBmdW5jdGlvbnMgZm9yIFdBTCB1c2FnZSBhY2N1bXVsYXRpb24gKi8KIHN0YXRp YyB2b2lkCiBXYWxVc2FnZUFkZChXYWxVc2FnZSAqZHN0LCBXYWxVc2FnZSAqYWRkKQpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvZXhwbGFpbi5oIGIvc3JjL2luY2x1ZGUvY29tbWFu ZHMvZXhwbGFpbi5oCmluZGV4IDZlNTFkNTBlZmM3Li5kMjdiMjQwMGUxNiAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvY29tbWFuZHMvZXhwbGFpbi5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRz L2V4cGxhaW4uaApAQCAtNjgsNiArNjgsNyBAQCBleHRlcm4gdm9pZCBFeHBsYWluT25lUGxhbihQ bGFubmVkU3RtdCAqcGxhbm5lZHN0bXQsIEludG9DbGF1c2UgKmludG8sCiAJCQkJCQkgICBQYXJh bUxpc3RJbmZvIHBhcmFtcywgUXVlcnlFbnZpcm9ubWVudCAqcXVlcnlFbnYsCiAJCQkJCQkgICBj b25zdCBpbnN0cl90aW1lICpwbGFuZHVyYXRpb24sCiAJCQkJCQkgICBjb25zdCBCdWZmZXJVc2Fn ZSAqYnVmdXNhZ2UsCisJCQkJCQkgICBjb25zdCBTdG9yYWdlSU9Vc2FnZSAqcGxhbnN0b3JhZ2Vp bywKIAkJCQkJCSAgIGNvbnN0IE1lbW9yeUNvbnRleHRDb3VudGVycyAqbWVtX2NvdW50ZXJzKTsK IAogZXh0ZXJuIHZvaWQgRXhwbGFpblByaW50UGxhbihFeHBsYWluU3RhdGUgKmVzLCBRdWVyeURl c2MgKnF1ZXJ5RGVzYyk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9leGVjdXRvci9leGVjUGFy YWxsZWwuaCBiL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWNQYXJhbGxlbC5oCmluZGV4IDVlNzEw NmMzOTdhLi41YzhiYzc2YzUzZCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhl Y1BhcmFsbGVsLmgKKysrIGIvc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhlY1BhcmFsbGVsLmgKQEAg LTI2LDYgKzI2LDggQEAgdHlwZWRlZiBzdHJ1Y3QgUGFyYWxsZWxFeGVjdXRvckluZm8KIAlQbGFu U3RhdGUgICpwbGFuc3RhdGU7CQkvKiBwbGFuIHN1YnRyZWUgd2UncmUgcnVubmluZyBpbiBwYXJh bGxlbCAqLwogCVBhcmFsbGVsQ29udGV4dCAqcGN4dDsJCS8qIHBhcmFsbGVsIGNvbnRleHQgd2Un cmUgdXNpbmcgKi8KIAlCdWZmZXJVc2FnZSAqYnVmZmVyX3VzYWdlOwkvKiBwb2ludHMgdG8gYnVm dXNhZ2UgYXJlYSBpbiBEU00gKi8KKwlTdG9yYWdlSU9Vc2FnZSAqc3RvcmFnZWlvX3VzYWdlOwkv KiBwb2ludHMgdG8gc3RvcmFnZWlvIHVzYWdlIGFyZWEgaW4KKwkJCQkJCQkJCQkgKiBEU00gKi8K IAlXYWxVc2FnZSAgICp3YWxfdXNhZ2U7CQkvKiB3YWx1c2FnZSBhcmVhIGluIERTTSAqLwogCVNo YXJlZEV4ZWN1dG9ySW5zdHJ1bWVudGF0aW9uICppbnN0cnVtZW50YXRpb247IC8qIG9wdGlvbmFs ICovCiAJc3RydWN0IFNoYXJlZEppdEluc3RydW1lbnRhdGlvbiAqaml0X2luc3RydW1lbnRhdGlv bjsJLyogb3B0aW9uYWwgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2luc3Ry dW1lbnQuaCBiL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2luc3RydW1lbnQuaAppbmRleCAwMzY1M2Fi NmM2Yy4uNTM5MmYwNTAyMmUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2luc3Ry dW1lbnQuaAorKysgYi9zcmMvaW5jbHVkZS9leGVjdXRvci9pbnN0cnVtZW50LmgKQEAgLTQxLDYg KzQxLDE0IEBAIHR5cGVkZWYgc3RydWN0IEJ1ZmZlclVzYWdlCiAJaW5zdHJfdGltZQl0ZW1wX2Js a193cml0ZV90aW1lOwkvKiB0aW1lIHNwZW50IHdyaXRpbmcgdGVtcCBibG9ja3MgKi8KIH0gQnVm ZmVyVXNhZ2U7CiAKK3R5cGVkZWYgc3RydWN0IFN0b3JhZ2VJT1VzYWdlCit7CisJbG9uZwkJaW5i bG9jazsJCS8qICMgb2YgdGltZXMgdGhlIGZpbGUgc3lzdGVtIGhhZCB0byBwZXJmb3JtCisJCQkJ CQkJCSAqIGlucHV0ICovCisJbG9uZwkJb3V0YmxvY2s7CQkvKiAjIG9mIHRpbWVzIHRoZSBmaWxl IHN5c3RlbSBoYWQgdG8gcGVyZm9ybQorCQkJCQkJCQkgKiBvdXRwdXQgKi8KK30gU3RvcmFnZUlP VXNhZ2U7CisKIC8qCiAgKiBXYWxVc2FnZSB0cmFja3Mgb25seSBXQUwgYWN0aXZpdHkgbGlrZSBX QUwgcmVjb3JkcyBnZW5lcmF0aW9uIHRoYXQKICAqIGNhbiBiZSBtZWFzdXJlZCBwZXIgcXVlcnkg YW5kIGlzIGRpc3BsYXllZCBieSBFWFBMQUlOIGNvbW1hbmQsCkBAIC0xMDAsNiArMTA4LDcgQEAg dHlwZWRlZiBzdHJ1Y3QgV29ya2VySW5zdHJ1bWVudGF0aW9uCiB9IFdvcmtlckluc3RydW1lbnRh dGlvbjsKIAogZXh0ZXJuIFBHRExMSU1QT1JUIEJ1ZmZlclVzYWdlIHBnQnVmZmVyVXNhZ2U7Citl eHRlcm4gUEdETExJTVBPUlQgU3RvcmFnZUlPVXNhZ2UgcGdTdG9yYWdlSU9Vc2FnZVBhcmFsbGVs OwogZXh0ZXJuIFBHRExMSU1QT1JUIFdhbFVzYWdlIHBnV2FsVXNhZ2U7CiAKIGV4dGVybiBJbnN0 cnVtZW50YXRpb24gKkluc3RyQWxsb2MoaW50IG4sIGludCBpbnN0cnVtZW50X29wdGlvbnMsCkBA IC0xMTAsMTEgKzExOSwxNiBAQCBleHRlcm4gdm9pZCBJbnN0clN0b3BOb2RlKEluc3RydW1lbnRh dGlvbiAqaW5zdHIsIGRvdWJsZSBuVHVwbGVzKTsKIGV4dGVybiB2b2lkIEluc3RyVXBkYXRlVHVw bGVDb3VudChJbnN0cnVtZW50YXRpb24gKmluc3RyLCBkb3VibGUgblR1cGxlcyk7CiBleHRlcm4g dm9pZCBJbnN0ckVuZExvb3AoSW5zdHJ1bWVudGF0aW9uICppbnN0cik7CiBleHRlcm4gdm9pZCBJ bnN0ckFnZ05vZGUoSW5zdHJ1bWVudGF0aW9uICpkc3QsIEluc3RydW1lbnRhdGlvbiAqYWRkKTsK LWV4dGVybiB2b2lkIEluc3RyU3RhcnRQYXJhbGxlbFF1ZXJ5KHZvaWQpOwotZXh0ZXJuIHZvaWQg SW5zdHJFbmRQYXJhbGxlbFF1ZXJ5KEJ1ZmZlclVzYWdlICpidWZ1c2FnZSwgV2FsVXNhZ2UgKndh bHVzYWdlKTsKLWV4dGVybiB2b2lkIEluc3RyQWNjdW1QYXJhbGxlbFF1ZXJ5KEJ1ZmZlclVzYWdl ICpidWZ1c2FnZSwgV2FsVXNhZ2UgKndhbHVzYWdlKTsKK2V4dGVybiB2b2lkIEluc3RyU3RhcnRQ YXJhbGxlbFF1ZXJ5KFN0b3JhZ2VJT1VzYWdlICpzdG9yYWdlaW91c2FnZSk7CitleHRlcm4gdm9p ZCBJbnN0ckVuZFBhcmFsbGVsUXVlcnkoQnVmZmVyVXNhZ2UgKmJ1ZnVzYWdlLCBTdG9yYWdlSU9V c2FnZSAqc3RvcmFnZWlvdXNhZ2UsIFdhbFVzYWdlICp3YWx1c2FnZSwgU3RvcmFnZUlPVXNhZ2Ug KnN0b3JhZ2Vpb3VzYWdlX3N0YXJ0KTsKK2V4dGVybiB2b2lkIEluc3RyQWNjdW1QYXJhbGxlbFF1 ZXJ5KEJ1ZmZlclVzYWdlICpidWZ1c2FnZSwgU3RvcmFnZUlPVXNhZ2UgKnN0b3JhZ2Vpb3VzYWdl LCBXYWxVc2FnZSAqd2FsdXNhZ2UpOwogZXh0ZXJuIHZvaWQgQnVmZmVyVXNhZ2VBY2N1bURpZmYo QnVmZmVyVXNhZ2UgKmRzdCwKIAkJCQkJCQkJIGNvbnN0IEJ1ZmZlclVzYWdlICphZGQsIGNvbnN0 IEJ1ZmZlclVzYWdlICpzdWIpOworZXh0ZXJuIHZvaWQgU3RvcmFnZUlPVXNhZ2VBY2N1bURpZmYo U3RvcmFnZUlPVXNhZ2UgKmRzdCwKKwkJCQkJCQkJCWNvbnN0IFN0b3JhZ2VJT1VzYWdlICphZGQs IGNvbnN0IFN0b3JhZ2VJT1VzYWdlICpzdWIpOworZXh0ZXJuIHZvaWQgU3RvcmFnZUlPVXNhZ2VE aWZmKFN0b3JhZ2VJT1VzYWdlICpkc3QsIGNvbnN0IFN0b3JhZ2VJT1VzYWdlICpzdWIpOworZXh0 ZXJuIHZvaWQgU3RvcmFnZUlPVXNhZ2VBZGQoU3RvcmFnZUlPVXNhZ2UgKmRzdCwgY29uc3QgU3Rv cmFnZUlPVXNhZ2UgKmFkZCk7CitleHRlcm4gdm9pZCBHZXRTdG9yYWdlSU9Vc2FnZShTdG9yYWdl SU9Vc2FnZSAqdXNhZ2UpOwogZXh0ZXJuIHZvaWQgV2FsVXNhZ2VBY2N1bURpZmYoV2FsVXNhZ2Ug KmRzdCwgY29uc3QgV2FsVXNhZ2UgKmFkZCwKIAkJCQkJCQkgIGNvbnN0IFdhbFVzYWdlICpzdWIp OwogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9yZXNvdXJjZS5oIGIv c3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvcmVzb3VyY2UuaAppbmRleCBhMTRmZWViNTg0NC4u MjcwZGMzN2M4NGYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3Jlc291 cmNlLmgKKysrIGIvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvcmVzb3VyY2UuaApAQCAtMTMs NiArMTMsOCBAQCBzdHJ1Y3QgcnVzYWdlCiB7CiAJc3RydWN0IHRpbWV2YWwgcnVfdXRpbWU7CS8q IHVzZXIgdGltZSB1c2VkICovCiAJc3RydWN0IHRpbWV2YWwgcnVfc3RpbWU7CS8qIHN5c3RlbSB0 aW1lIHVzZWQgKi8KKwlsb25nCQlydV9pbmJsb2NrOwkJLyogQ3VycmVudGx5IGFsd2F5cyAwIGZv ciBXaW5kb3dzICovCisJbG9uZwkJcnVfb3VibG9jazsJCS8qIEN1cnJlbnRseSBhbHdheXMgMCBm b3IgV2luZG93cyAqLwogfTsKIAogZXh0ZXJuIGludAlnZXRydXNhZ2UoaW50IHdobywgc3RydWN0 IHJ1c2FnZSAqcnVzYWdlKTsKZGlmZiAtLWdpdCBhL3NyYy9wb3J0L3dpbjMyZ2V0cnVzYWdlLmMg Yi9zcmMvcG9ydC93aW4zMmdldHJ1c2FnZS5jCmluZGV4IDZhMTk3Yzk0Mzc2Li4yN2YwZWEwNTJh MSAxMDA2NDQKLS0tIGEvc3JjL3BvcnQvd2luMzJnZXRydXNhZ2UuYworKysgYi9zcmMvcG9ydC93 aW4zMmdldHJ1c2FnZS5jCkBAIC01Nyw1ICs1Nyw5IEBAIGdldHJ1c2FnZShpbnQgd2hvLCBzdHJ1 Y3QgcnVzYWdlICpydXNhZ2UpCiAJcnVzYWdlLT5ydV91dGltZS50dl9zZWMgPSBsaS5RdWFkUGFy dCAvIDEwMDAwMDBMOwogCXJ1c2FnZS0+cnVfdXRpbWUudHZfdXNlYyA9IGxpLlF1YWRQYXJ0ICUg MTAwMDAwMEw7CiAKKwkvKiBDdXJyZW50bHkgYWx3YXlzIDAgZm9yIFdpbmRvd3MgKi8KKwlydXNh Z2UtPnJ1X2luYmxvY2sgPSAwOworCXJ1c2FnZS0+cnVfb3VibG9jayA9IDA7CisKIAlyZXR1cm4g MDsKIH0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZXhwbGFpbl8xLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZXhwbGFpbl8xLm91dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNDI2ZWJjMmFhMzQKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2V4cGxhaW5fMS5vdXQKQEAgLTAsMCArMSw4NTcg QEAKKy0tCistLSBFWFBMQUlOCistLQorLS0gVGhlcmUgYXJlIG1hbnkgdGVzdCBjYXNlcyBlbHNl d2hlcmUgdGhhdCB1c2UgRVhQTEFJTiBhcyBhIHZlaGljbGUgZm9yCistLSBjaGVja2luZyBzb21l dGhpbmcgZWxzZSAodXN1YWxseSBwbGFubmVyIGJlaGF2aW9yKS4gIFRoaXMgZmlsZSBpcworLS0g Y29uY2VybmVkIHdpdGggdGVzdGluZyBFWFBMQUlOIGluIGl0cyBvd24gcmlnaHQuCistLQorLS0g VG8gcHJvZHVjZSBzdGFibGUgcmVncmVzc2lvbiB0ZXN0IG91dHB1dCwgaXQncyB1c3VhbGx5IG5l Y2Vzc2FyeSB0bworLS0gaWdub3JlIGRldGFpbHMgc3VjaCBhcyBleGFjdCBjb3N0cyBvciByb3cg Y291bnRzLiAgVGhlc2UgZmlsdGVyCistLSBmdW5jdGlvbnMgcmVwbGFjZSBjaGFuZ2VhYmxlIG91 dHB1dCBkZXRhaWxzIHdpdGggZml4ZWQgc3RyaW5ncy4KK2NyZWF0ZSBmdW5jdGlvbiBleHBsYWlu X2ZpbHRlcih0ZXh0KSByZXR1cm5zIHNldG9mIHRleHQKK2xhbmd1YWdlIHBscGdzcWwgYXMKKyQk CitkZWNsYXJlCisgICAgbG4gdGV4dDsKK2JlZ2luCisgICAgZm9yIGxuIGluIGV4ZWN1dGUgJDEK KyAgICBsb29wCisgICAgICAgIC0tIFJlcGxhY2UgYW55IG51bWVyaWMgd29yZCB3aXRoIGp1c3Qg J04nCisgICAgICAgIGxuIDo9IHJlZ2V4cF9yZXBsYWNlKGxuLCAnLT9cbVxkK1xNJywgJ04nLCAn ZycpOworICAgICAgICAtLSBJbiBzb3J0IG91dHB1dCwgdGhlIGFib3ZlIHdvbid0IG1hdGNoIHVu aXRzLXN1ZmZpeGVkIG51bWJlcnMKKyAgICAgICAgbG4gOj0gcmVnZXhwX3JlcGxhY2UobG4sICdc bVxkK2tCJywgJ05rQicsICdnJyk7CisgICAgICAgIC0tIElnbm9yZSB0ZXh0LW1vZGUgYnVmZmVy cyBvdXRwdXQgYmVjYXVzZSBpdCB2YXJpZXMgZGVwZW5kaW5nCisgICAgICAgIC0tIG9uIHRoZSBz eXN0ZW0gc3RhdGUKKyAgICAgICAgQ09OVElOVUUgV0hFTiAobG4gfiAnICtCdWZmZXJzOiAuKicp OworICAgICAgICAtLSBJZ25vcmUgdGV4dC1tb2RlICJQbGFubmluZzoiIGxpbmUgYmVjYXVzZSB3 aGV0aGVyIGl0J3Mgb3V0cHV0CisgICAgICAgIC0tIHZhcmllcyBkZXBlbmRpbmcgb24gdGhlIHN5 c3RlbSBzdGF0ZQorICAgICAgICBDT05USU5VRSBXSEVOIChsbiA9ICdQbGFubmluZzonKTsKKyAg ICAgICAgcmV0dXJuIG5leHQgbG47CisgICAgZW5kIGxvb3A7CitlbmQ7CiskJDsKKy0tIFRvIHBy b2R1Y2UgdmFsaWQgSlNPTiBvdXRwdXQsIHJlcGxhY2UgbnVtYmVycyB3aXRoICIwIiBvciAiMC4w IiBub3QgIk4iCitjcmVhdGUgZnVuY3Rpb24gZXhwbGFpbl9maWx0ZXJfdG9fanNvbih0ZXh0KSBy ZXR1cm5zIGpzb25iCitsYW5ndWFnZSBwbHBnc3FsIGFzCiskJAorZGVjbGFyZQorICAgIGRhdGEg dGV4dCA6PSAnJzsKKyAgICBsbiB0ZXh0OworYmVnaW4KKyAgICBmb3IgbG4gaW4gZXhlY3V0ZSAk MQorICAgIGxvb3AKKyAgICAgICAgLS0gUmVwbGFjZSBhbnkgbnVtZXJpYyB3b3JkIHdpdGgganVz dCAnMCcKKyAgICAgICAgbG4gOj0gcmVnZXhwX3JlcGxhY2UobG4sICdcbVxkK1xNJywgJzAnLCAn ZycpOworICAgICAgICBkYXRhIDo9IGRhdGEgfHwgbG47CisgICAgZW5kIGxvb3A7CisgICAgcmV0 dXJuIGRhdGE6Ompzb25iOworZW5kOworJCQ7CistLSBEaXNhYmxlIEpJVCwgb3Igd2UnbGwgZ2V0 IGRpZmZlcmVudCBvdXRwdXQgb24gbWFjaGluZXMgd2hlcmUgdGhhdCdzIGJlZW4KKy0tIGZvcmNl ZCBvbgorc2V0IGppdCA9IG9mZjsKKy0tIFNpbWlsYXJseSwgZGlzYWJsZSB0cmFja19pb190aW1p bmcsIHRvIGF2b2lkIG91dHB1dCBkaWZmZXJlbmNlcyB3aGVuCistLSBlbmFibGVkLgorc2V0IHRy YWNrX2lvX3RpbWluZyA9IG9mZjsKKy0tIFNpbXBsZSBjYXNlcworZXhwbGFpbiAoY29zdHMgb2Zm KSBzZWxlY3QgMSBhcyBhLCAyIGFzIGIgaGF2aW5nIGZhbHNlOworICAgICAgICBRVUVSWSBQTEFO ICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgUmVzdWx0CisgICBSZXBsYWNl czogQWdncmVnYXRlCisgICBPbmUtVGltZSBGaWx0ZXI6IGZhbHNlCisoMyByb3dzKQorCitzZWxl Y3QgZXhwbGFpbl9maWx0ZXIoJ2V4cGxhaW4gc2VsZWN0ICogZnJvbSBpbnQ4X3RibCBpOCcpOwor ICAgICAgICAgICAgICAgICAgICAgZXhwbGFpbl9maWx0ZXIgICAgICAgICAgICAgICAgICAgICAg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyBTZXEgU2NhbiBvbiBpbnQ4X3RibCBpOCAgKGNvc3Q9Ti5OLi5OLk4gcm93cz1OIHdpZHRo PU4pCisoMSByb3cpCisKK3NlbGVjdCBleHBsYWluX2ZpbHRlcignZXhwbGFpbiAoYW5hbHl6ZSwg YnVmZmVycyBvZmYpIHNlbGVjdCAqIGZyb20gaW50OF90YmwgaTgnKTsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwbGFpbl9maWx0ZXIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyBTZXEgU2NhbiBvbiBpbnQ4X3RibCBpOCAgKGNvc3Q9Ti5OLi5OLk4gcm93 cz1OIHdpZHRoPU4pIChhY3R1YWwgdGltZT1OLk4uLk4uTiByb3dzPU4uTiBsb29wcz1OKQorIFBs YW5uaW5nIFRpbWU6IE4uTiBtcworIEV4ZWN1dGlvbiBUaW1lOiBOLk4gbXMKKygzIHJvd3MpCisK K3NlbGVjdCBleHBsYWluX2ZpbHRlcignZXhwbGFpbiAoYW5hbHl6ZSwgYnVmZmVycyBvZmYsIHZl cmJvc2UpIHNlbGVjdCAqIGZyb20gaW50OF90YmwgaTgnKTsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGxhaW5fZmlsdGVyICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCBpOCAgKGNv c3Q9Ti5OLi5OLk4gcm93cz1OIHdpZHRoPU4pIChhY3R1YWwgdGltZT1OLk4uLk4uTiByb3dzPU4u TiBsb29wcz1OKQorICAgT3V0cHV0OiBxMSwgcTIKKyBQbGFubmluZyBUaW1lOiBOLk4gbXMKKyBF eGVjdXRpb24gVGltZTogTi5OIG1zCisoNCByb3dzKQorCitzZWxlY3QgZXhwbGFpbl9maWx0ZXIo J2V4cGxhaW4gKGFuYWx5emUsIGJ1ZmZlcnMsIGZvcm1hdCB0ZXh0KSBzZWxlY3QgKiBmcm9tIGlu dDhfdGJsIGk4Jyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4 cGxhaW5fZmlsdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCist LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgU2VxIFNjYW4gb24gaW50 OF90YmwgaTggIChjb3N0PU4uTi4uTi5OIHJvd3M9TiB3aWR0aD1OKSAoYWN0dWFsIHRpbWU9Ti5O Li5OLk4gcm93cz1OLk4gbG9vcHM9TikKKyBQbGFubmluZyBUaW1lOiBOLk4gbXMKKyBFeGVjdXRp b24gVGltZTogTi5OIG1zCisoMyByb3dzKQorCitzZWxlY3QgZXhwbGFpbl9maWx0ZXIoJ2V4cGxh aW4gKGFuYWx5emUsIGJ1ZmZlcnMsIGZvcm1hdCB4bWwpIHNlbGVjdCAqIGZyb20gaW50OF90Ymwg aTgnKTsKKyAgICAgICAgICAgICAgICAgICAgIGV4cGxhaW5fZmlsdGVyICAgICAgICAgICAgICAg ICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorIDxleHBsYWluIHhtbG5zPSJodHRwOi8vd3d3LnBvc3RncmVzcWwub3JnL04vZXhw bGFpbiI+ICsKKyAgIDxRdWVyeT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICArCisgICAgIDxQbGFuPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKworICAgICAgIDxOb2RlLVR5cGU+U2VxIFNjYW48L05vZGUtVHlwZT4gICAgICAg ICAgICAgICAgICsKKyAgICAgICA8UGFyYWxsZWwtQXdhcmU+ZmFsc2U8L1BhcmFsbGVsLUF3YXJl PiAgICAgICAgICArCisgICAgICAgPEFzeW5jLUNhcGFibGU+ZmFsc2U8L0FzeW5jLUNhcGFibGU+ ICAgICAgICAgICAgKworICAgICAgIDxSZWxhdGlvbi1OYW1lPmludDhfdGJsPC9SZWxhdGlvbi1O YW1lPiAgICAgICAgICsKKyAgICAgICA8QWxpYXM+aTg8L0FsaWFzPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICArCisgICAgICAgPFN0YXJ0dXAtQ29zdD5OLk48L1N0YXJ0dXAtQ29zdD4g ICAgICAgICAgICAgICAgKworICAgICAgIDxUb3RhbC1Db3N0Pk4uTjwvVG90YWwtQ29zdD4gICAg ICAgICAgICAgICAgICAgICsKKyAgICAgICA8UGxhbi1Sb3dzPk48L1BsYW4tUm93cz4gICAgICAg ICAgICAgICAgICAgICAgICArCisgICAgICAgPFBsYW4tV2lkdGg+TjwvUGxhbi1XaWR0aD4gICAg ICAgICAgICAgICAgICAgICAgKworICAgICAgIDxBY3R1YWwtU3RhcnR1cC1UaW1lPk4uTjwvQWN0 dWFsLVN0YXJ0dXAtVGltZT4gICsKKyAgICAgICA8QWN0dWFsLVRvdGFsLVRpbWU+Ti5OPC9BY3R1 YWwtVG90YWwtVGltZT4gICAgICArCisgICAgICAgPEFjdHVhbC1Sb3dzPk4uTjwvQWN0dWFsLVJv d3M+ICAgICAgICAgICAgICAgICAgKworICAgICAgIDxBY3R1YWwtTG9vcHM+TjwvQWN0dWFsLUxv b3BzPiAgICAgICAgICAgICAgICAgICsKKyAgICAgICA8RGlzYWJsZWQ+ZmFsc2U8L0Rpc2FibGVk PiAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgPFNoYXJlZC1IaXQtQmxvY2tzPk48L1No YXJlZC1IaXQtQmxvY2tzPiAgICAgICAgKworICAgICAgIDxTaGFyZWQtUmVhZC1CbG9ja3M+Tjwv U2hhcmVkLVJlYWQtQmxvY2tzPiAgICAgICsKKyAgICAgICA8U2hhcmVkLURpcnRpZWQtQmxvY2tz Pk48L1NoYXJlZC1EaXJ0aWVkLUJsb2Nrcz4rCisgICAgICAgPFNoYXJlZC1Xcml0dGVuLUJsb2Nr cz5OPC9TaGFyZWQtV3JpdHRlbi1CbG9ja3M+KworICAgICAgIDxMb2NhbC1IaXQtQmxvY2tzPk48 L0xvY2FsLUhpdC1CbG9ja3M+ICAgICAgICAgICsKKyAgICAgICA8TG9jYWwtUmVhZC1CbG9ja3M+ TjwvTG9jYWwtUmVhZC1CbG9ja3M+ICAgICAgICArCisgICAgICAgPExvY2FsLURpcnRpZWQtQmxv Y2tzPk48L0xvY2FsLURpcnRpZWQtQmxvY2tzPiAgKworICAgICAgIDxMb2NhbC1Xcml0dGVuLUJs b2Nrcz5OPC9Mb2NhbC1Xcml0dGVuLUJsb2Nrcz4gICsKKyAgICAgICA8VGVtcC1SZWFkLUJsb2Nr cz5OPC9UZW1wLVJlYWQtQmxvY2tzPiAgICAgICAgICArCisgICAgICAgPFRlbXAtV3JpdHRlbi1C bG9ja3M+TjwvVGVtcC1Xcml0dGVuLUJsb2Nrcz4gICAgKworICAgICA8L1BsYW4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgPFBsYW5uaW5nPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICAgPFNoYXJlZC1IaXQt QmxvY2tzPk48L1NoYXJlZC1IaXQtQmxvY2tzPiAgICAgICAgKworICAgICAgIDxTaGFyZWQtUmVh ZC1CbG9ja3M+TjwvU2hhcmVkLVJlYWQtQmxvY2tzPiAgICAgICsKKyAgICAgICA8U2hhcmVkLURp cnRpZWQtQmxvY2tzPk48L1NoYXJlZC1EaXJ0aWVkLUJsb2Nrcz4rCisgICAgICAgPFNoYXJlZC1X cml0dGVuLUJsb2Nrcz5OPC9TaGFyZWQtV3JpdHRlbi1CbG9ja3M+KworICAgICAgIDxMb2NhbC1I aXQtQmxvY2tzPk48L0xvY2FsLUhpdC1CbG9ja3M+ICAgICAgICAgICsKKyAgICAgICA8TG9jYWwt UmVhZC1CbG9ja3M+TjwvTG9jYWwtUmVhZC1CbG9ja3M+ICAgICAgICArCisgICAgICAgPExvY2Fs LURpcnRpZWQtQmxvY2tzPk48L0xvY2FsLURpcnRpZWQtQmxvY2tzPiAgKworICAgICAgIDxMb2Nh bC1Xcml0dGVuLUJsb2Nrcz5OPC9Mb2NhbC1Xcml0dGVuLUJsb2Nrcz4gICsKKyAgICAgICA8VGVt cC1SZWFkLUJsb2Nrcz5OPC9UZW1wLVJlYWQtQmxvY2tzPiAgICAgICAgICArCisgICAgICAgPFRl bXAtV3JpdHRlbi1CbG9ja3M+TjwvVGVtcC1Xcml0dGVuLUJsb2Nrcz4gICAgKworICAgICAgIDxT dG9yYWdlLUktTy1SZWFkPk48L1N0b3JhZ2UtSS1PLVJlYWQ+ICAgICAgICAgICsKKyAgICAgICA8 U3RvcmFnZS1JLU8tUmVhZD5OPC9TdG9yYWdlLUktTy1SZWFkPiAgICAgICAgICArCisgICAgIDwv UGxhbm5pbmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICA8 UGxhbm5pbmctVGltZT5OLk48L1BsYW5uaW5nLVRpbWU+ICAgICAgICAgICAgICAgICsKKyAgICAg PFRyaWdnZXJzPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAg IDwvVHJpZ2dlcnM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAg ICA8RXhlY3V0aW9uPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAg ICAgICA8U3RvcmFnZS1JLU8tUmVhZD5OPC9TdG9yYWdlLUktTy1SZWFkPiAgICAgICAgICArCisg ICAgICAgPFN0b3JhZ2UtSS1PLVJlYWQ+TjwvU3RvcmFnZS1JLU8tUmVhZD4gICAgICAgICAgKwor ICAgICA8L0V4ZWN1dGlvbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsK KyAgICAgPEV4ZWN1dGlvbi1UaW1lPk4uTjwvRXhlY3V0aW9uLVRpbWU+ICAgICAgICAgICAgICAr CisgICA8L1F1ZXJ5PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KworIDwvZXhwbGFpbj4KKygxIHJvdykKKworc2VsZWN0IGV4cGxhaW5fZmlsdGVyKCdleHBsYWlu IChhbmFseXplLCBzZXJpYWxpemUsIGJ1ZmZlcnMsIGZvcm1hdCB5YW1sKSBzZWxlY3QgKiBmcm9t IGludDhfdGJsIGk4Jyk7CisgICAgICAgIGV4cGxhaW5fZmlsdGVyICAgICAgICAgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgLSBQbGFuOiAgICAgICAgICAgICAgICAgICAgICAr CisgICAgIE5vZGUgVHlwZTogIlNlcSBTY2FuIiAgICArCisgICAgIFBhcmFsbGVsIEF3YXJlOiBm YWxzZSAgICArCisgICAgIEFzeW5jIENhcGFibGU6IGZhbHNlICAgICArCisgICAgIFJlbGF0aW9u IE5hbWU6ICJpbnQ4X3RibCIrCisgICAgIEFsaWFzOiAiaTgiICAgICAgICAgICAgICArCisgICAg IFN0YXJ0dXAgQ29zdDogTi5OICAgICAgICArCisgICAgIFRvdGFsIENvc3Q6IE4uTiAgICAgICAg ICArCisgICAgIFBsYW4gUm93czogTiAgICAgICAgICAgICArCisgICAgIFBsYW4gV2lkdGg6IE4g ICAgICAgICAgICArCisgICAgIEFjdHVhbCBTdGFydHVwIFRpbWU6IE4uTiArCisgICAgIEFjdHVh bCBUb3RhbCBUaW1lOiBOLk4gICArCisgICAgIEFjdHVhbCBSb3dzOiBOLk4gICAgICAgICArCisg ICAgIEFjdHVhbCBMb29wczogTiAgICAgICAgICArCisgICAgIERpc2FibGVkOiBmYWxzZSAgICAg ICAgICArCisgICAgIFNoYXJlZCBIaXQgQmxvY2tzOiBOICAgICArCisgICAgIFNoYXJlZCBSZWFk IEJsb2NrczogTiAgICArCisgICAgIFNoYXJlZCBEaXJ0aWVkIEJsb2NrczogTiArCisgICAgIFNo YXJlZCBXcml0dGVuIEJsb2NrczogTiArCisgICAgIExvY2FsIEhpdCBCbG9ja3M6IE4gICAgICAr CisgICAgIExvY2FsIFJlYWQgQmxvY2tzOiBOICAgICArCisgICAgIExvY2FsIERpcnRpZWQgQmxv Y2tzOiBOICArCisgICAgIExvY2FsIFdyaXR0ZW4gQmxvY2tzOiBOICArCisgICAgIFRlbXAgUmVh ZCBCbG9ja3M6IE4gICAgICArCisgICAgIFRlbXAgV3JpdHRlbiBCbG9ja3M6IE4gICArCisgICBQ bGFubmluZzogICAgICAgICAgICAgICAgICArCisgICAgIFNoYXJlZCBIaXQgQmxvY2tzOiBOICAg ICArCisgICAgIFNoYXJlZCBSZWFkIEJsb2NrczogTiAgICArCisgICAgIFNoYXJlZCBEaXJ0aWVk IEJsb2NrczogTiArCisgICAgIFNoYXJlZCBXcml0dGVuIEJsb2NrczogTiArCisgICAgIExvY2Fs IEhpdCBCbG9ja3M6IE4gICAgICArCisgICAgIExvY2FsIFJlYWQgQmxvY2tzOiBOICAgICArCisg ICAgIExvY2FsIERpcnRpZWQgQmxvY2tzOiBOICArCisgICAgIExvY2FsIFdyaXR0ZW4gQmxvY2tz OiBOICArCisgICAgIFRlbXAgUmVhZCBCbG9ja3M6IE4gICAgICArCisgICAgIFRlbXAgV3JpdHRl biBCbG9ja3M6IE4gICArCisgICAgIFN0b3JhZ2UgSS9PIFJlYWQ6IE4gICAgICArCisgICAgIFN0 b3JhZ2UgSS9PIFJlYWQ6IE4gICAgICArCisgICBQbGFubmluZyBUaW1lOiBOLk4gICAgICAgICAr CisgICBUcmlnZ2VyczogICAgICAgICAgICAgICAgICArCisgICBTZXJpYWxpemF0aW9uOiAgICAg ICAgICAgICArCisgICAgIFRpbWU6IE4uTiAgICAgICAgICAgICAgICArCisgICAgIE91dHB1dCBW b2x1bWU6IE4gICAgICAgICArCisgICAgIEZvcm1hdDogInRleHQiICAgICAgICAgICArCisgICAg IFNoYXJlZCBIaXQgQmxvY2tzOiBOICAgICArCisgICAgIFNoYXJlZCBSZWFkIEJsb2NrczogTiAg ICArCisgICAgIFNoYXJlZCBEaXJ0aWVkIEJsb2NrczogTiArCisgICAgIFNoYXJlZCBXcml0dGVu IEJsb2NrczogTiArCisgICAgIExvY2FsIEhpdCBCbG9ja3M6IE4gICAgICArCisgICAgIExvY2Fs IFJlYWQgQmxvY2tzOiBOICAgICArCisgICAgIExvY2FsIERpcnRpZWQgQmxvY2tzOiBOICArCisg ICAgIExvY2FsIFdyaXR0ZW4gQmxvY2tzOiBOICArCisgICAgIFRlbXAgUmVhZCBCbG9ja3M6IE4g ICAgICArCisgICAgIFRlbXAgV3JpdHRlbiBCbG9ja3M6IE4gICArCisgICBFeGVjdXRpb246ICAg ICAgICAgICAgICAgICArCisgICAgIFN0b3JhZ2UgSS9PIFJlYWQ6IE4gICAgICArCisgICAgIFN0 b3JhZ2UgSS9PIFJlYWQ6IE4gICAgICArCisgICBFeGVjdXRpb24gVGltZTogTi5OCisoMSByb3cp CisKK3NlbGVjdCBleHBsYWluX2ZpbHRlcignZXhwbGFpbiAoYnVmZmVycywgZm9ybWF0IHRleHQp IHNlbGVjdCAqIGZyb20gaW50OF90YmwgaTgnKTsKKyAgICAgICAgICAgICAgICAgICAgIGV4cGxh aW5fZmlsdGVyICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgU2VxIFNjYW4gb24gaW50OF90Ymwg aTggIChjb3N0PU4uTi4uTi5OIHJvd3M9TiB3aWR0aD1OKQorKDEgcm93KQorCitzZWxlY3QgZXhw bGFpbl9maWx0ZXIoJ2V4cGxhaW4gKGJ1ZmZlcnMsIGZvcm1hdCBqc29uKSBzZWxlY3QgKiBmcm9t IGludDhfdGJsIGk4Jyk7CisgICAgICAgICAgIGV4cGxhaW5fZmlsdGVyICAgICAgICAgICAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICArCisgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAg ICAgIlBsYW4iOiB7ICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICJOb2RlIFR5cGUiOiAi U2VxIFNjYW4iLCAgICArCisgICAgICAgIlBhcmFsbGVsIEF3YXJlIjogZmFsc2UsICAgICsKKyAg ICAgICAiQXN5bmMgQ2FwYWJsZSI6IGZhbHNlLCAgICAgKworICAgICAgICJSZWxhdGlvbiBOYW1l IjogImludDhfdGJsIiwrCisgICAgICAgIkFsaWFzIjogImk4IiwgICAgICAgICAgICAgICsKKyAg ICAgICAiU3RhcnR1cCBDb3N0IjogTi5OLCAgICAgICAgKworICAgICAgICJUb3RhbCBDb3N0Ijog Ti5OLCAgICAgICAgICArCisgICAgICAgIlBsYW4gUm93cyI6IE4sICAgICAgICAgICAgICsKKyAg ICAgICAiUGxhbiBXaWR0aCI6IE4sICAgICAgICAgICAgKworICAgICAgICJEaXNhYmxlZCI6IGZh bHNlLCAgICAgICAgICArCisgICAgICAgIlNoYXJlZCBIaXQgQmxvY2tzIjogTiwgICAgICsKKyAg ICAgICAiU2hhcmVkIFJlYWQgQmxvY2tzIjogTiwgICAgKworICAgICAgICJTaGFyZWQgRGlydGll ZCBCbG9ja3MiOiBOLCArCisgICAgICAgIlNoYXJlZCBXcml0dGVuIEJsb2NrcyI6IE4sICsKKyAg ICAgICAiTG9jYWwgSGl0IEJsb2NrcyI6IE4sICAgICAgKworICAgICAgICJMb2NhbCBSZWFkIEJs b2NrcyI6IE4sICAgICArCisgICAgICAgIkxvY2FsIERpcnRpZWQgQmxvY2tzIjogTiwgICsKKyAg ICAgICAiTG9jYWwgV3JpdHRlbiBCbG9ja3MiOiBOLCAgKworICAgICAgICJUZW1wIFJlYWQgQmxv Y2tzIjogTiwgICAgICArCisgICAgICAgIlRlbXAgV3JpdHRlbiBCbG9ja3MiOiBOICAgICsKKyAg ICAgfSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAiUGxhbm5pbmciOiB7ICAg ICAgICAgICAgICAgICArCisgICAgICAgIlNoYXJlZCBIaXQgQmxvY2tzIjogTiwgICAgICsKKyAg ICAgICAiU2hhcmVkIFJlYWQgQmxvY2tzIjogTiwgICAgKworICAgICAgICJTaGFyZWQgRGlydGll ZCBCbG9ja3MiOiBOLCArCisgICAgICAgIlNoYXJlZCBXcml0dGVuIEJsb2NrcyI6IE4sICsKKyAg ICAgICAiTG9jYWwgSGl0IEJsb2NrcyI6IE4sICAgICAgKworICAgICAgICJMb2NhbCBSZWFkIEJs b2NrcyI6IE4sICAgICArCisgICAgICAgIkxvY2FsIERpcnRpZWQgQmxvY2tzIjogTiwgICsKKyAg ICAgICAiTG9jYWwgV3JpdHRlbiBCbG9ja3MiOiBOLCAgKworICAgICAgICJUZW1wIFJlYWQgQmxv Y2tzIjogTiwgICAgICArCisgICAgICAgIlRlbXAgV3JpdHRlbiBCbG9ja3MiOiBOLCAgICsKKyAg ICAgICAiU3RvcmFnZSBJL08gUmVhZCI6IE4sICAgICAgKworICAgICAgICJTdG9yYWdlIEkvTyBS ZWFkIjogTiAgICAgICArCisgICAgIH0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAg ICAgIkV4ZWN1dGlvbiI6IHsgICAgICAgICAgICAgICAgKworICAgICAgICJTdG9yYWdlIEkvTyBS ZWFkIjogTiwgICAgICArCisgICAgICAgIlN0b3JhZ2UgSS9PIFJlYWQiOiBOICAgICAgICsKKyAg ICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgfSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICArCisgXQorKDEgcm93KQorCistLSBDaGVjayBleHBhbnNpb24gb2Ygd2lu ZG93IGRlZmluaXRpb25zCitzZWxlY3QgZXhwbGFpbl9maWx0ZXIoJ2V4cGxhaW4gdmVyYm9zZSBz ZWxlY3Qgc3VtKHVuaXF1ZTEpIG92ZXIgdywgc3VtKHVuaXF1ZTIpIG92ZXIgKHcgb3JkZXIgYnkg aHVuZHJlZCksIHN1bSh0ZW50aG91cykgb3ZlciAodyBvcmRlciBieSBodW5kcmVkKSBmcm9tIHRl bmsxIHdpbmRvdyB3IGFzIChwYXJ0aXRpb24gYnkgdGVuKScpOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBleHBsYWluX2ZpbHRlciAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIFdpbmRvd0FnZyAgKGNvc3Q9Ti5OLi5OLk4gcm93cz1OIHdp ZHRoPU4pCisgICBPdXRwdXQ6IHN1bSh1bmlxdWUxKSBPVkVSIHcsIChzdW0odW5pcXVlMikgT1ZF UiB3MSksIChzdW0odGVudGhvdXMpIE9WRVIgdzEpLCB0ZW4sIGh1bmRyZWQKKyAgIFdpbmRvdzog dyBBUyAoUEFSVElUSU9OIEJZIHRlbmsxLnRlbikKKyAgIC0+ICBXaW5kb3dBZ2cgIChjb3N0PU4u Ti4uTi5OIHJvd3M9TiB3aWR0aD1OKQorICAgICAgICAgT3V0cHV0OiB0ZW4sIGh1bmRyZWQsIHVu aXF1ZTEsIHVuaXF1ZTIsIHRlbnRob3VzLCBzdW0odW5pcXVlMikgT1ZFUiB3MSwgc3VtKHRlbnRo b3VzKSBPVkVSIHcxCisgICAgICAgICBXaW5kb3c6IHcxIEFTIChQQVJUSVRJT04gQlkgdGVuazEu dGVuIE9SREVSIEJZIHRlbmsxLmh1bmRyZWQpCisgICAgICAgICAtPiAgU29ydCAgKGNvc3Q9Ti5O Li5OLk4gcm93cz1OIHdpZHRoPU4pCisgICAgICAgICAgICAgICBPdXRwdXQ6IHRlbiwgaHVuZHJl ZCwgdW5pcXVlMSwgdW5pcXVlMiwgdGVudGhvdXMKKyAgICAgICAgICAgICAgIFNvcnQgS2V5OiB0 ZW5rMS50ZW4sIHRlbmsxLmh1bmRyZWQKKyAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMudGVuazEgIChjb3N0PU4uTi4uTi5OIHJvd3M9TiB3aWR0aD1OKQorICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0ZW4sIGh1bmRyZWQsIHVuaXF1ZTEsIHVuaXF1ZTIsIHRlbnRob3Vz CisoMTEgcm93cykKKworc2VsZWN0IGV4cGxhaW5fZmlsdGVyKCdleHBsYWluIHZlcmJvc2Ugc2Vs ZWN0IHN1bSh1bmlxdWUxKSBvdmVyIHcxLCBzdW0odW5pcXVlMikgb3ZlciAodzEgb3JkZXIgYnkg aHVuZHJlZCksIHN1bSh0ZW50aG91cykgb3ZlciAodzEgb3JkZXIgYnkgaHVuZHJlZCByb3dzIDEw IHByZWNlZGluZykgZnJvbSB0ZW5rMSB3aW5kb3cgdzEgYXMgKHBhcnRpdGlvbiBieSB0ZW4pJyk7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBsYWluX2Zp bHRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFdpbmRvd0FnZyAg KGNvc3Q9Ti5OLi5OLk4gcm93cz1OIHdpZHRoPU4pCisgICBPdXRwdXQ6IHN1bSh1bmlxdWUxKSBP VkVSIHcxLCAoc3VtKHVuaXF1ZTIpIE9WRVIgdzIpLCAoc3VtKHRlbnRob3VzKSBPVkVSIHczKSwg dGVuLCBodW5kcmVkCisgICBXaW5kb3c6IHcxIEFTIChQQVJUSVRJT04gQlkgdGVuazEudGVuKQor ICAgLT4gIFdpbmRvd0FnZyAgKGNvc3Q9Ti5OLi5OLk4gcm93cz1OIHdpZHRoPU4pCisgICAgICAg ICBPdXRwdXQ6IHRlbiwgaHVuZHJlZCwgdW5pcXVlMSwgdW5pcXVlMiwgdGVudGhvdXMsIChzdW0o dW5pcXVlMikgT1ZFUiB3MiksIHN1bSh0ZW50aG91cykgT1ZFUiB3MworICAgICAgICAgV2luZG93 OiB3MyBBUyAoUEFSVElUSU9OIEJZIHRlbmsxLnRlbiBPUkRFUiBCWSB0ZW5rMS5odW5kcmVkIFJP V1MgJ04nOjpiaWdpbnQgUFJFQ0VESU5HKQorICAgICAgICAgLT4gIFdpbmRvd0FnZyAgKGNvc3Q9 Ti5OLi5OLk4gcm93cz1OIHdpZHRoPU4pCisgICAgICAgICAgICAgICBPdXRwdXQ6IHRlbiwgaHVu ZHJlZCwgdW5pcXVlMSwgdW5pcXVlMiwgdGVudGhvdXMsIHN1bSh1bmlxdWUyKSBPVkVSIHcyCisg ICAgICAgICAgICAgICBXaW5kb3c6IHcyIEFTIChQQVJUSVRJT04gQlkgdGVuazEudGVuIE9SREVS IEJZIHRlbmsxLmh1bmRyZWQpCisgICAgICAgICAgICAgICAtPiAgU29ydCAgKGNvc3Q9Ti5OLi5O Lk4gcm93cz1OIHdpZHRoPU4pCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHRlbiwgaHVu ZHJlZCwgdW5pcXVlMSwgdW5pcXVlMiwgdGVudGhvdXMKKyAgICAgICAgICAgICAgICAgICAgIFNv cnQgS2V5OiB0ZW5rMS50ZW4sIHRlbmsxLmh1bmRyZWQKKyAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwdWJsaWMudGVuazEgIChjb3N0PU4uTi4uTi5OIHJvd3M9TiB3aWR0aD1O KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0ZW4sIGh1bmRyZWQsIHVuaXF1 ZTEsIHVuaXF1ZTIsIHRlbnRob3VzCisoMTQgcm93cykKKworLS0gQ2hlY2sgb3V0cHV0IGluY2x1 ZGluZyBJL08gdGltaW5ncy4gIFRoZXNlIGZpZWxkcyBhcmUgY29uZGl0aW9uYWwKKy0tIGJ1dCBh bHdheXMgc2V0IGluIEpTT04gZm9ybWF0LCBzbyBjaGVjayB0aGVtIG9ubHkgaW4gdGhpcyBjYXNl Lgorc2V0IHRyYWNrX2lvX3RpbWluZyA9IG9uOworc2VsZWN0IGV4cGxhaW5fZmlsdGVyKCdleHBs YWluIChhbmFseXplLCBidWZmZXJzLCBmb3JtYXQganNvbikgc2VsZWN0ICogZnJvbSBpbnQ4X3Ri bCBpOCcpOworICAgICAgICAgICBleHBsYWluX2ZpbHRlciAgICAgICAgICAgIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKworICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAi UGxhbiI6IHsgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICJOb2RlIFR5cGUiOiAiU2Vx IFNjYW4iLCAgICAgKworICAgICAgICJQYXJhbGxlbCBBd2FyZSI6IGZhbHNlLCAgICAgKworICAg ICAgICJBc3luYyBDYXBhYmxlIjogZmFsc2UsICAgICAgKworICAgICAgICJSZWxhdGlvbiBOYW1l IjogImludDhfdGJsIiwgKworICAgICAgICJBbGlhcyI6ICJpOCIsICAgICAgICAgICAgICAgKwor ICAgICAgICJTdGFydHVwIENvc3QiOiBOLk4sICAgICAgICAgKworICAgICAgICJUb3RhbCBDb3N0 IjogTi5OLCAgICAgICAgICAgKworICAgICAgICJQbGFuIFJvd3MiOiBOLCAgICAgICAgICAgICAg KworICAgICAgICJQbGFuIFdpZHRoIjogTiwgICAgICAgICAgICAgKworICAgICAgICJBY3R1YWwg U3RhcnR1cCBUaW1lIjogTi5OLCAgKworICAgICAgICJBY3R1YWwgVG90YWwgVGltZSI6IE4uTiwg ICAgKworICAgICAgICJBY3R1YWwgUm93cyI6IE4uTiwgICAgICAgICAgKworICAgICAgICJBY3R1 YWwgTG9vcHMiOiBOLCAgICAgICAgICAgKworICAgICAgICJEaXNhYmxlZCI6IGZhbHNlLCAgICAg ICAgICAgKworICAgICAgICJTaGFyZWQgSGl0IEJsb2NrcyI6IE4sICAgICAgKworICAgICAgICJT aGFyZWQgUmVhZCBCbG9ja3MiOiBOLCAgICAgKworICAgICAgICJTaGFyZWQgRGlydGllZCBCbG9j a3MiOiBOLCAgKworICAgICAgICJTaGFyZWQgV3JpdHRlbiBCbG9ja3MiOiBOLCAgKworICAgICAg ICJMb2NhbCBIaXQgQmxvY2tzIjogTiwgICAgICAgKworICAgICAgICJMb2NhbCBSZWFkIEJsb2Nr cyI6IE4sICAgICAgKworICAgICAgICJMb2NhbCBEaXJ0aWVkIEJsb2NrcyI6IE4sICAgKworICAg ICAgICJMb2NhbCBXcml0dGVuIEJsb2NrcyI6IE4sICAgKworICAgICAgICJUZW1wIFJlYWQgQmxv Y2tzIjogTiwgICAgICAgKworICAgICAgICJUZW1wIFdyaXR0ZW4gQmxvY2tzIjogTiwgICAgKwor ICAgICAgICJTaGFyZWQgSS9PIFJlYWQgVGltZSI6IE4uTiwgKworICAgICAgICJTaGFyZWQgSS9P IFdyaXRlIFRpbWUiOiBOLk4sKworICAgICAgICJMb2NhbCBJL08gUmVhZCBUaW1lIjogTi5OLCAg KworICAgICAgICJMb2NhbCBJL08gV3JpdGUgVGltZSI6IE4uTiwgKworICAgICAgICJUZW1wIEkv TyBSZWFkIFRpbWUiOiBOLk4sICAgKworICAgICAgICJUZW1wIEkvTyBXcml0ZSBUaW1lIjogTi5O ICAgKworICAgICB9LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAiUGxhbm5p bmciOiB7ICAgICAgICAgICAgICAgICAgKworICAgICAgICJTaGFyZWQgSGl0IEJsb2NrcyI6IE4s ICAgICAgKworICAgICAgICJTaGFyZWQgUmVhZCBCbG9ja3MiOiBOLCAgICAgKworICAgICAgICJT aGFyZWQgRGlydGllZCBCbG9ja3MiOiBOLCAgKworICAgICAgICJTaGFyZWQgV3JpdHRlbiBCbG9j a3MiOiBOLCAgKworICAgICAgICJMb2NhbCBIaXQgQmxvY2tzIjogTiwgICAgICAgKworICAgICAg ICJMb2NhbCBSZWFkIEJsb2NrcyI6IE4sICAgICAgKworICAgICAgICJMb2NhbCBEaXJ0aWVkIEJs b2NrcyI6IE4sICAgKworICAgICAgICJMb2NhbCBXcml0dGVuIEJsb2NrcyI6IE4sICAgKworICAg ICAgICJUZW1wIFJlYWQgQmxvY2tzIjogTiwgICAgICAgKworICAgICAgICJUZW1wIFdyaXR0ZW4g QmxvY2tzIjogTiwgICAgKworICAgICAgICJTaGFyZWQgSS9PIFJlYWQgVGltZSI6IE4uTiwgKwor ICAgICAgICJTaGFyZWQgSS9PIFdyaXRlIFRpbWUiOiBOLk4sKworICAgICAgICJMb2NhbCBJL08g UmVhZCBUaW1lIjogTi5OLCAgKworICAgICAgICJMb2NhbCBJL08gV3JpdGUgVGltZSI6IE4uTiwg KworICAgICAgICJUZW1wIEkvTyBSZWFkIFRpbWUiOiBOLk4sICAgKworICAgICAgICJUZW1wIEkv TyBXcml0ZSBUaW1lIjogTi5OLCAgKworICAgICAgICJTdG9yYWdlIEkvTyBSZWFkIjogTiwgICAg ICAgKworICAgICAgICJTdG9yYWdlIEkvTyBSZWFkIjogTiAgICAgICAgKworICAgICB9LCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAiUGxhbm5pbmcgVGltZSI6IE4uTiwgICAg ICAgICAgKworICAgICAiVHJpZ2dlcnMiOiBbICAgICAgICAgICAgICAgICAgKworICAgICBdLCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAiRXhlY3V0aW9uIjogeyAgICAgICAg ICAgICAgICAgKworICAgICAgICJTdG9yYWdlIEkvTyBSZWFkIjogTiwgICAgICAgKworICAgICAg ICJTdG9yYWdlIEkvTyBSZWFkIjogTiAgICAgICAgKworICAgICB9LCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKworICAgICAiRXhlY3V0aW9uIFRpbWUiOiBOLk4gICAgICAgICAgKworICAg fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworIF0KKygxIHJvdykKKworc2V0IHRy YWNrX2lvX3RpbWluZyA9IG9mZjsKKy0tIFNFVFRJTkdTIG9wdGlvbgorLS0gV2UgaGF2ZSB0byBp Z25vcmUgb3RoZXIgc2V0dGluZ3MgdGhhdCBtaWdodCBiZSBpbXBvc2VkIGJ5IHRoZSBlbnZpcm9u bWVudCwKKy0tIHNvIHByaW50aW5nIHRoZSB3aG9sZSBTZXR0aW5ncyBmaWVsZCB1bmZvcnR1bmF0 ZWx5IHdvbid0IGRvLgorYmVnaW47CitzZXQgbG9jYWwgcGxhbl9jYWNoZV9tb2RlID0gZm9yY2Vf Z2VuZXJpY19wbGFuOworc2VsZWN0IHRydWUgYXMgIk9LIgorICBmcm9tIGV4cGxhaW5fZmlsdGVy KCdleHBsYWluIChzZXR0aW5ncykgc2VsZWN0ICogZnJvbSBpbnQ4X3RibCBpOCcpIGxuCisgIHdo ZXJlIGxuIH4gJ14gKlNldHRpbmdzOiAuKnBsYW5fY2FjaGVfbW9kZSA9ICcnZm9yY2VfZ2VuZXJp Y19wbGFuJycnOworIE9LIAorLS0tLQorIHQKKygxIHJvdykKKworc2VsZWN0IGV4cGxhaW5fZmls dGVyX3RvX2pzb24oJ2V4cGxhaW4gKHNldHRpbmdzLCBmb3JtYXQganNvbikgc2VsZWN0ICogZnJv bSBpbnQ4X3RibCBpOCcpICM+ICd7MCxTZXR0aW5ncyxwbGFuX2NhY2hlX21vZGV9JzsKKyAgICAg ICA/Y29sdW1uPyAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAiZm9yY2VfZ2VuZXJp Y19wbGFuIgorKDEgcm93KQorCityb2xsYmFjazsKKy0tIEdFTkVSSUNfUExBTiBvcHRpb24KK3Nl bGVjdCBleHBsYWluX2ZpbHRlcignZXhwbGFpbiAoZ2VuZXJpY19wbGFuKSBzZWxlY3QgdW5pcXVl MSBmcm9tIHRlbmsxIHdoZXJlIHRob3VzYW5kID0gJDEnKTsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGV4cGxhaW5fZmlsdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQml0bWFwIEhlYXAgU2NhbiBvbiB0ZW5r MSAgKGNvc3Q9Ti5OLi5OLk4gcm93cz1OIHdpZHRoPU4pCisgICBSZWNoZWNrIENvbmQ6ICh0aG91 c2FuZCA9ICROKQorICAgLT4gIEJpdG1hcCBJbmRleCBTY2FuIG9uIHRlbmsxX3Rob3VzX3RlbnRo b3VzICAoY29zdD1OLk4uLk4uTiByb3dzPU4gd2lkdGg9TikKKyAgICAgICAgIEluZGV4IENvbmQ6 ICh0aG91c2FuZCA9ICROKQorKDQgcm93cykKKworLS0gc2hvdWxkIGZhaWwKK3NlbGVjdCBleHBs YWluX2ZpbHRlcignZXhwbGFpbiAoYW5hbHl6ZSwgZ2VuZXJpY19wbGFuKSBzZWxlY3QgdW5pcXVl MSBmcm9tIHRlbmsxIHdoZXJlIHRob3VzYW5kID0gJDEnKTsKK0VSUk9SOiAgRVhQTEFJTiBvcHRp b25zIEFOQUxZWkUgYW5kIEdFTkVSSUNfUExBTiBjYW5ub3QgYmUgdXNlZCB0b2dldGhlcgorQ09O VEVYVDogIFBML3BnU1FMIGZ1bmN0aW9uIGV4cGxhaW5fZmlsdGVyKHRleHQpIGxpbmUgNSBhdCBG T1Igb3ZlciBFWEVDVVRFIHN0YXRlbWVudAorLS0gTUVNT1JZIG9wdGlvbgorc2VsZWN0IGV4cGxh aW5fZmlsdGVyKCdleHBsYWluIChtZW1vcnkpIHNlbGVjdCAqIGZyb20gaW50OF90YmwgaTgnKTsK KyAgICAgICAgICAgICAgICAgICAgIGV4cGxhaW5fZmlsdGVyICAgICAgICAgICAgICAgICAgICAg IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgU2VxIFNjYW4gb24gaW50OF90YmwgaTggIChjb3N0PU4uTi4uTi5OIHJvd3M9TiB3aWR0 aD1OKQorICAgTWVtb3J5OiB1c2VkPU5rQiAgYWxsb2NhdGVkPU5rQgorKDIgcm93cykKKworc2Vs ZWN0IGV4cGxhaW5fZmlsdGVyKCdleHBsYWluIChtZW1vcnksIGFuYWx5emUsIGJ1ZmZlcnMgb2Zm KSBzZWxlY3QgKiBmcm9tIGludDhfdGJsIGk4Jyk7CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGV4cGxhaW5fZmlsdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgU2VxIFNjYW4gb24gaW50OF90YmwgaTggIChjb3N0PU4uTi4uTi5OIHJvd3M9TiB3aWR0aD1O KSAoYWN0dWFsIHRpbWU9Ti5OLi5OLk4gcm93cz1OLk4gbG9vcHM9TikKKyAgIE1lbW9yeTogdXNl ZD1Oa0IgIGFsbG9jYXRlZD1Oa0IKKyBQbGFubmluZyBUaW1lOiBOLk4gbXMKKyBFeGVjdXRpb24g VGltZTogTi5OIG1zCisoNCByb3dzKQorCitzZWxlY3QgZXhwbGFpbl9maWx0ZXIoJ2V4cGxhaW4g KG1lbW9yeSwgc3VtbWFyeSwgZm9ybWF0IHlhbWwpIHNlbGVjdCAqIGZyb20gaW50OF90YmwgaTgn KTsKKyAgICAgICAgZXhwbGFpbl9maWx0ZXIgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAtIFBsYW46ICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgTm9kZSBU eXBlOiAiU2VxIFNjYW4iICAgICsKKyAgICAgUGFyYWxsZWwgQXdhcmU6IGZhbHNlICAgICsKKyAg ICAgQXN5bmMgQ2FwYWJsZTogZmFsc2UgICAgICsKKyAgICAgUmVsYXRpb24gTmFtZTogImludDhf dGJsIisKKyAgICAgQWxpYXM6ICJpOCIgICAgICAgICAgICAgICsKKyAgICAgU3RhcnR1cCBDb3N0 OiBOLk4gICAgICAgICsKKyAgICAgVG90YWwgQ29zdDogTi5OICAgICAgICAgICsKKyAgICAgUGxh biBSb3dzOiBOICAgICAgICAgICAgICsKKyAgICAgUGxhbiBXaWR0aDogTiAgICAgICAgICAgICsK KyAgICAgRGlzYWJsZWQ6IGZhbHNlICAgICAgICAgICsKKyAgIFBsYW5uaW5nOiAgICAgICAgICAg ICAgICAgICsKKyAgICAgTWVtb3J5IFVzZWQ6IE4gICAgICAgICAgICsKKyAgICAgTWVtb3J5IEFs bG9jYXRlZDogTiAgICAgICsKKyAgIFBsYW5uaW5nIFRpbWU6IE4uTgorKDEgcm93KQorCitzZWxl Y3QgZXhwbGFpbl9maWx0ZXIoJ2V4cGxhaW4gKG1lbW9yeSwgYW5hbHl6ZSwgZm9ybWF0IGpzb24p IHNlbGVjdCAqIGZyb20gaW50OF90YmwgaTgnKTsKKyAgICAgICAgICAgZXhwbGFpbl9maWx0ZXIg ICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgWyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgIHsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKworICAgICAiUGxhbiI6IHsgICAgICAgICAgICAgICAgICAgICArCisgICAgICAg Ik5vZGUgVHlwZSI6ICJTZXEgU2NhbiIsICAgICsKKyAgICAgICAiUGFyYWxsZWwgQXdhcmUiOiBm YWxzZSwgICAgKworICAgICAgICJBc3luYyBDYXBhYmxlIjogZmFsc2UsICAgICArCisgICAgICAg IlJlbGF0aW9uIE5hbWUiOiAiaW50OF90YmwiLCsKKyAgICAgICAiQWxpYXMiOiAiaTgiLCAgICAg ICAgICAgICAgKworICAgICAgICJTdGFydHVwIENvc3QiOiBOLk4sICAgICAgICArCisgICAgICAg IlRvdGFsIENvc3QiOiBOLk4sICAgICAgICAgICsKKyAgICAgICAiUGxhbiBSb3dzIjogTiwgICAg ICAgICAgICAgKworICAgICAgICJQbGFuIFdpZHRoIjogTiwgICAgICAgICAgICArCisgICAgICAg IkFjdHVhbCBTdGFydHVwIFRpbWUiOiBOLk4sICsKKyAgICAgICAiQWN0dWFsIFRvdGFsIFRpbWUi OiBOLk4sICAgKworICAgICAgICJBY3R1YWwgUm93cyI6IE4uTiwgICAgICAgICArCisgICAgICAg IkFjdHVhbCBMb29wcyI6IE4sICAgICAgICAgICsKKyAgICAgICAiRGlzYWJsZWQiOiBmYWxzZSwg ICAgICAgICAgKworICAgICAgICJTaGFyZWQgSGl0IEJsb2NrcyI6IE4sICAgICArCisgICAgICAg IlNoYXJlZCBSZWFkIEJsb2NrcyI6IE4sICAgICsKKyAgICAgICAiU2hhcmVkIERpcnRpZWQgQmxv Y2tzIjogTiwgKworICAgICAgICJTaGFyZWQgV3JpdHRlbiBCbG9ja3MiOiBOLCArCisgICAgICAg IkxvY2FsIEhpdCBCbG9ja3MiOiBOLCAgICAgICsKKyAgICAgICAiTG9jYWwgUmVhZCBCbG9ja3Mi OiBOLCAgICAgKworICAgICAgICJMb2NhbCBEaXJ0aWVkIEJsb2NrcyI6IE4sICArCisgICAgICAg IkxvY2FsIFdyaXR0ZW4gQmxvY2tzIjogTiwgICsKKyAgICAgICAiVGVtcCBSZWFkIEJsb2NrcyI6 IE4sICAgICAgKworICAgICAgICJUZW1wIFdyaXR0ZW4gQmxvY2tzIjogTiAgICArCisgICAgIH0s ICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgIlBsYW5uaW5nIjogeyAgICAgICAg ICAgICAgICAgKworICAgICAgICJTaGFyZWQgSGl0IEJsb2NrcyI6IE4sICAgICArCisgICAgICAg IlNoYXJlZCBSZWFkIEJsb2NrcyI6IE4sICAgICsKKyAgICAgICAiU2hhcmVkIERpcnRpZWQgQmxv Y2tzIjogTiwgKworICAgICAgICJTaGFyZWQgV3JpdHRlbiBCbG9ja3MiOiBOLCArCisgICAgICAg IkxvY2FsIEhpdCBCbG9ja3MiOiBOLCAgICAgICsKKyAgICAgICAiTG9jYWwgUmVhZCBCbG9ja3Mi OiBOLCAgICAgKworICAgICAgICJMb2NhbCBEaXJ0aWVkIEJsb2NrcyI6IE4sICArCisgICAgICAg IkxvY2FsIFdyaXR0ZW4gQmxvY2tzIjogTiwgICsKKyAgICAgICAiVGVtcCBSZWFkIEJsb2NrcyI6 IE4sICAgICAgKworICAgICAgICJUZW1wIFdyaXR0ZW4gQmxvY2tzIjogTiwgICArCisgICAgICAg IlN0b3JhZ2UgSS9PIFJlYWQiOiBOLCAgICAgICsKKyAgICAgICAiU3RvcmFnZSBJL08gUmVhZCI6 IE4sICAgICAgKworICAgICAgICJNZW1vcnkgVXNlZCI6IE4sICAgICAgICAgICArCisgICAgICAg Ik1lbW9yeSBBbGxvY2F0ZWQiOiBOICAgICAgICsKKyAgICAgfSwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKworICAgICAiUGxhbm5pbmcgVGltZSI6IE4uTiwgICAgICAgICArCisgICAgICJU cmlnZ2VycyI6IFsgICAgICAgICAgICAgICAgICsKKyAgICAgXSwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKworICAgICAiRXhlY3V0aW9uIjogeyAgICAgICAgICAgICAgICArCisgICAgICAg IlN0b3JhZ2UgSS9PIFJlYWQiOiBOLCAgICAgICsKKyAgICAgICAiU3RvcmFnZSBJL08gUmVhZCI6 IE4gICAgICAgKworICAgICB9LCAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgICJF eGVjdXRpb24gVGltZSI6IE4uTiAgICAgICAgICsKKyAgIH0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKworIF0KKygxIHJvdykKKworcHJlcGFyZSBpbnQ4X3F1ZXJ5IGFzIHNlbGVjdCAq IGZyb20gaW50OF90YmwgaTg7CitzZWxlY3QgZXhwbGFpbl9maWx0ZXIoJ2V4cGxhaW4gKG1lbW9y eSkgZXhlY3V0ZSBpbnQ4X3F1ZXJ5Jyk7CisgICAgICAgICAgICAgICAgICAgICBleHBsYWluX2Zp bHRlciAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFNlcSBTY2FuIG9uIGludDhfdGJsIGk4ICAo Y29zdD1OLk4uLk4uTiByb3dzPU4gd2lkdGg9TikKKyAgIE1lbW9yeTogdXNlZD1Oa0IgIGFsbG9j YXRlZD1Oa0IKKygyIHJvd3MpCisKKy0tIFRlc3QgRVhQTEFJTiAoR0VORVJJQ19QTEFOKSB3aXRo IHBhcnRpdGlvbiBwcnVuaW5nCistLSBwYXJ0aXRpb25zIHNob3VsZCBiZSBwcnVuZWQgYXQgcGxh biB0aW1lLCBiYXNlZCBvbiBjb25zdGFudHMsCistLSBidXQgdGhlcmUgc2hvdWxkIGJlIG5vIHBy dW5pbmcgYmFzZWQgb24gcGFyYW1ldGVyIHBsYWNlaG9sZGVycworY3JlYXRlIHRhYmxlIGdlbl9w YXJ0ICgKKyAga2V5MSBpbnRlZ2VyIG5vdCBudWxsLAorICBrZXkyIGludGVnZXIgbm90IG51bGwK KykgcGFydGl0aW9uIGJ5IGxpc3QgKGtleTEpOworY3JlYXRlIHRhYmxlIGdlbl9wYXJ0XzEKKyAg cGFydGl0aW9uIG9mIGdlbl9wYXJ0IGZvciB2YWx1ZXMgaW4gKDEpCisgIHBhcnRpdGlvbiBieSBy YW5nZSAoa2V5Mik7CitjcmVhdGUgdGFibGUgZ2VuX3BhcnRfMV8xCisgIHBhcnRpdGlvbiBvZiBn ZW5fcGFydF8xIGZvciB2YWx1ZXMgZnJvbSAoMSkgdG8gKDIpOworY3JlYXRlIHRhYmxlIGdlbl9w YXJ0XzFfMgorICBwYXJ0aXRpb24gb2YgZ2VuX3BhcnRfMSBmb3IgdmFsdWVzIGZyb20gKDIpIHRv ICgzKTsKK2NyZWF0ZSB0YWJsZSBnZW5fcGFydF8yCisgIHBhcnRpdGlvbiBvZiBnZW5fcGFydCBm b3IgdmFsdWVzIGluICgyKTsKKy0tIHNob3VsZCBzY2FuIGdlbl9wYXJ0XzFfMSBhbmQgZ2VuX3Bh cnRfMV8yLCBidXQgbm90IGdlbl9wYXJ0XzIKK3NlbGVjdCBleHBsYWluX2ZpbHRlcignZXhwbGFp biAoZ2VuZXJpY19wbGFuKSBzZWxlY3Qga2V5MSwga2V5MiBmcm9tIGdlbl9wYXJ0IHdoZXJlIGtl eTEgPSAxIGFuZCBrZXkyID0gJDEnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4 cGxhaW5fZmlsdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgQXBwZW5kICAoY29zdD1OLk4uLk4uTiByb3dzPU4gd2lkdGg9TikKKyAgIC0+ICBT ZXEgU2NhbiBvbiBnZW5fcGFydF8xXzEgZ2VuX3BhcnRfMSAgKGNvc3Q9Ti5OLi5OLk4gcm93cz1O IHdpZHRoPU4pCisgICAgICAgICBGaWx0ZXI6ICgoa2V5MSA9IE4pIEFORCAoa2V5MiA9ICROKSkK KyAgIC0+ICBTZXEgU2NhbiBvbiBnZW5fcGFydF8xXzIgZ2VuX3BhcnRfMiAgKGNvc3Q9Ti5OLi5O Lk4gcm93cz1OIHdpZHRoPU4pCisgICAgICAgICBGaWx0ZXI6ICgoa2V5MSA9IE4pIEFORCAoa2V5 MiA9ICROKSkKKyg1IHJvd3MpCisKK2Ryb3AgdGFibGUgZ2VuX3BhcnQ7CistLQorLS0gVGVzdCBw cm9kdWN0aW9uIG9mIHBlci13b3JrZXIgZGF0YQorLS0KKy0tIFVuZm9ydHVuYXRlbHksIGJlY2F1 c2Ugd2UgZG9uJ3Qga25vdyBob3cgbWFueSB3b3JrZXIgcHJvY2Vzc2VzIHdlJ2xsCistLSBhY3R1 YWxseSBnZXQgKG1heWJlIG5vbmUgYXQgYWxsKSwgd2UgY2FuJ3QgZXhhbWluZSB0aGUgIldvcmtl cnMiIG91dHB1dAorLS0gaW4gYW55IGRldGFpbC4gIFdlIGNhbiBjaGVjayB0aGF0IGl0IHBhcnNl cyBjb3JyZWN0bHkgYXMgSlNPTiwgYW5kIHRoZW4KKy0tIHJlbW92ZSBpdCBmcm9tIHRoZSBkaXNw bGF5ZWQgcmVzdWx0cy4KK2JlZ2luOworLS0gZW5jb3VyYWdlIHVzZSBvZiBwYXJhbGxlbCBwbGFu cworc2V0IHBhcmFsbGVsX3NldHVwX2Nvc3Q9MDsKK3NldCBwYXJhbGxlbF90dXBsZV9jb3N0PTA7 CitzZXQgbWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZT0wOworc2V0IG1heF9wYXJhbGxlbF93 b3JrZXJzX3Blcl9nYXRoZXI9NDsKK3NlbGVjdCBqc29uYl9wcmV0dHkoCisgIGV4cGxhaW5fZmls dGVyX3RvX2pzb24oJ2V4cGxhaW4gKGFuYWx5emUsIHZlcmJvc2UsIGJ1ZmZlcnMsIGZvcm1hdCBq c29uKQorICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCAqIGZyb20gdGVuazEgb3JkZXIg YnkgdGVudGhvdXMnKQorICAtLSByZW1vdmUgIldvcmtlcnMiIG5vZGUgb2YgdGhlIFNlcSBTY2Fu IHBsYW4gbm9kZQorICAjLSAnezAsUGxhbixQbGFucywwLFBsYW5zLDAsV29ya2Vyc30nCisgIC0t IHJlbW92ZSAiV29ya2VycyIgbm9kZSBvZiB0aGUgU29ydCBwbGFuIG5vZGUKKyAgIy0gJ3swLFBs YW4sUGxhbnMsMCxXb3JrZXJzfScKKyAgLS0gQWxzbyByZW1vdmUgaXRzIHNvcnQtdHlwZSBmaWVs ZHMsIGFzIHRob3NlIGFyZW4ndCAxMDAlIHN0YWJsZQorICAjLSAnezAsUGxhbixQbGFucywwLFNv cnQgTWV0aG9kfScKKyAgIy0gJ3swLFBsYW4sUGxhbnMsMCxTb3J0IFNwYWNlIFR5cGV9JworKTsK KyAgICAgICAgICAgICAgICAgICAgICAgIGpzb25iX3ByZXR0eSAgICAgICAgICAgICAgICAgICAg ICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyBbICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICsKKyAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICJQbGFuIjogeyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiUGxhbnMiOiBbICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgeyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAg ICAgICAgICJQbGFucyI6IFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAg ICAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFsaWFzIjogInRlbmsxIiwgICAgICAgICAgICAg ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk91dHB1dCI6IFsgICAgICAgICAgICAg ICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlxdWUxIiwgICAg ICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlxdWUy IiwgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0 d28iLCAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJmb3VyIiwgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJ0ZW4iLCAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJ0d2VudHkiLCAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJodW5kcmVkIiwgICAgICAgICAgICAgICAgICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aG91c2FuZCIsICAgICAgICAgICAgICAgICsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0d290aG91c2FuZCIsICAgICAgICAg ICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmaXZldGhvdXMiLCAgICAg ICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW50aG91cyIs ICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvZGQi LCAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJldmVuIiwgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJzdHJpbmd1MSIsICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJzdHJpbmd1MiIsICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJzdHJpbmc0IiAgICAgICAgICAgICAgICAgICsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNjaGVtYSI6ICJwdWJsaWMiLCAgICAgICAgICAg ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRpc2FibGVkIjogZmFsc2UsICAgICAg ICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vZGUgVHlwZSI6ICJTZXEg U2NhbiIsICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBsYW4gUm93cyI6 IDAsICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBsYW4g V2lkdGgiOiAwLCAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IlRvdGFsIENvc3QiOiAwLjAsICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIkFjdHVhbCBSb3dzIjogMC4wLCAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIkFjdHVhbCBMb29wcyI6IDAsICAgICAgICAgICAgICsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIlN0YXJ0dXAgQ29zdCI6IDAuMCwgICAgICAgICAgICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIkFzeW5jIENhcGFibGUiOiBmYWxzZSwgICAgICAgICsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlbGF0aW9uIE5hbWUiOiAidGVuazEiLCAg ICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBhcmFsbGVsIEF3YXJlIjogdHJ1 ZSwgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxvY2FsIEhpdCBCbG9j a3MiOiAwLCAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRlbXAgUmVh ZCBCbG9ja3MiOiAwLCAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFj dHVhbCBUb3RhbCBUaW1lIjogMC4wLCAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIkxvY2FsIFJlYWQgQmxvY2tzIjogMCwgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIlNoYXJlZCBIaXQgQmxvY2tzIjogMCwgICAgICAgICsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIlNoYXJlZCBSZWFkIEJsb2NrcyI6IDAsICAgICAgICsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIkFjdHVhbCBTdGFydHVwIFRpbWUiOiAwLjAsICAgICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBhcmVudCBSZWxhdGlvbnNoaXAiOiAiT3V0ZXIi LCsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRlbXAgV3JpdHRlbiBCbG9ja3MiOiAw LCAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxvY2FsIERpcnRpZWQgQmxv Y2tzIjogMCwgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxvY2FsIFdyaXR0 ZW4gQmxvY2tzIjogMCwgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNoYXJl ZCBEaXJ0aWVkIEJsb2NrcyI6IDAsICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IlNoYXJlZCBXcml0dGVuIEJsb2NrcyI6IDAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAg ICAgIF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAg ICAgICAgICAgICJPdXRwdXQiOiBbICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAidW5pcXVlMSIsICAgICAgICAgICAgICAgICAgICAgICAgICsK KyAgICAgICAgICAgICAgICAgICAgICAgICAidW5pcXVlMiIsICAgICAgICAgICAgICAgICAgICAg ICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAidHdvIiwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAiZm91ciIsICAgICAgICAgICAg ICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAidGVuIiwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAidHdlbnR5 IiwgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAi aHVuZHJlZCIsICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAidGhvdXNhbmQiLCAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAidHdvdGhvdXNhbmQiLCAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAiZml2ZXRob3VzIiwgICAgICAgICAgICAgICAgICAgICAgICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAidGVudGhvdXMiLCAgICAgICAgICAgICAgICAgICAgICAg ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAib2RkIiwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAiZXZlbiIsICAgICAgICAgICAgICAg ICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5ndTEiLCAgICAg ICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5ndTIi LCAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAic3Ry aW5nNCIgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgIF0s ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAg ICAgICJEaXNhYmxlZCI6IGZhbHNlLCAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAg ICAgICAgICAgICJTb3J0IEtleSI6IFsgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAidGVuazEudGVudGhvdXMiICAgICAgICAgICAgICAgICAgICsK KyAgICAgICAgICAgICAgICAgICAgIF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJOb2RlIFR5cGUiOiAiU29ydCIsICAgICAgICAg ICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJQbGFuIFJvd3MiOiAwLCAgICAgICAg ICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJQbGFuIFdpZHRoIjogMCwg ICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJUb3RhbCBDb3N0 IjogMC4wLCAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJBY3R1 YWwgUm93cyI6IDAuMCwgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAg ICJBY3R1YWwgTG9vcHMiOiAwLCAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAg ICAgICAgICJTdGFydHVwIENvc3QiOiAwLjAsICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAg ICAgICAgICAgICAgICJBc3luYyBDYXBhYmxlIjogZmFsc2UsICAgICAgICAgICAgICAgICsKKyAg ICAgICAgICAgICAgICAgICAgICJQYXJhbGxlbCBBd2FyZSI6IGZhbHNlLCAgICAgICAgICAgICAg ICsKKyAgICAgICAgICAgICAgICAgICAgICJTb3J0IFNwYWNlIFVzZWQiOiAwLCAgICAgICAgICAg ICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJMb2NhbCBIaXQgQmxvY2tzIjogMCwgICAg ICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJUZW1wIFJlYWQgQmxvY2tzIjog MCwgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJBY3R1YWwgVG90YWwg VGltZSI6IDAuMCwgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJMb2NhbCBS ZWFkIEJsb2NrcyI6IDAsICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJT aGFyZWQgSGl0IEJsb2NrcyI6IDAsICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAg ICAgICJTaGFyZWQgUmVhZCBCbG9ja3MiOiAwLCAgICAgICAgICAgICAgICsKKyAgICAgICAgICAg ICAgICAgICAgICJBY3R1YWwgU3RhcnR1cCBUaW1lIjogMC4wLCAgICAgICAgICAgICsKKyAgICAg ICAgICAgICAgICAgICAgICJQYXJlbnQgUmVsYXRpb25zaGlwIjogIk91dGVyIiwgICAgICAgICsK KyAgICAgICAgICAgICAgICAgICAgICJUZW1wIFdyaXR0ZW4gQmxvY2tzIjogMCwgICAgICAgICAg ICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJMb2NhbCBEaXJ0aWVkIEJsb2NrcyI6IDAsICAg ICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJMb2NhbCBXcml0dGVuIEJsb2NrcyI6 IDAsICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJTaGFyZWQgRGlydGllZCBC bG9ja3MiOiAwLCAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgICAgICJTaGFyZWQgV3Jp dHRlbiBCbG9ja3MiOiAwICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgfSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICBdLCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAi T3V0cHV0IjogWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAg ICAgICAgICAgInVuaXF1ZTEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAg ICAgICAgICAgICAgICAgInVuaXF1ZTIiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICsKKyAgICAgICAgICAgICAgICAgInR3byIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICsKKyAgICAgICAgICAgICAgICAgImZvdXIiLCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgInRlbiIsICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgInR3ZW50eSIsICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgImh1bmRyZWQiLCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgInRob3Vz YW5kIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAg InR3b3Rob3VzYW5kIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAg ICAgICAgImZpdmV0aG91cyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAg ICAgICAgICAgICAgInRlbnRob3VzIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsK KyAgICAgICAgICAgICAgICAgIm9kZCIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICsKKyAgICAgICAgICAgICAgICAgImV2ZW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgInN0cmluZ3UxIiwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgInN0cmluZ3UyIiwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAgICAgInN0cmluZzQiICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICBdLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiRGlzYWJs ZWQiOiBmYWxzZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAi Tm9kZSBUeXBlIjogIkdhdGhlciBNZXJnZSIsICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAg ICAgICAiUGxhbiBSb3dzIjogMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAg ICAgICAgICAgICAiUGxhbiBXaWR0aCI6IDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICsKKyAgICAgICAgICAgICAiVG90YWwgQ29zdCI6IDAuMCwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICsKKyAgICAgICAgICAgICAiQWN0dWFsIFJvd3MiOiAwLjAsICAgICAgICAgICAgICAg ICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiQWN0dWFsIExvb3BzIjogMCwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiU3RhcnR1cCBDb3N0IjogMC4wLCAg ICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiQXN5bmMgQ2FwYWJsZSI6 IGZhbHNlLCAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiUGFyYWxsZWwg QXdhcmUiOiBmYWxzZSwgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiV29y a2VycyBQbGFubmVkIjogMCwgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAg ICAiTG9jYWwgSGl0IEJsb2NrcyI6IDAsICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAg ICAgICAgICAiVGVtcCBSZWFkIEJsb2NrcyI6IDAsICAgICAgICAgICAgICAgICAgICAgICAgICsK KyAgICAgICAgICAgICAiV29ya2VycyBMYXVuY2hlZCI6IDAsICAgICAgICAgICAgICAgICAgICAg ICAgICsKKyAgICAgICAgICAgICAiQWN0dWFsIFRvdGFsIFRpbWUiOiAwLjAsICAgICAgICAgICAg ICAgICAgICAgICsKKyAgICAgICAgICAgICAiTG9jYWwgUmVhZCBCbG9ja3MiOiAwLCAgICAgICAg ICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiU2hhcmVkIEhpdCBCbG9ja3MiOiAwLCAg ICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiU2hhcmVkIFJlYWQgQmxvY2tz IjogMCwgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiQWN0dWFsIFN0YXJ0 dXAgVGltZSI6IDAuMCwgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiVGVtcCBX cml0dGVuIEJsb2NrcyI6IDAsICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAi TG9jYWwgRGlydGllZCBCbG9ja3MiOiAwLCAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAg ICAgICAiTG9jYWwgV3JpdHRlbiBCbG9ja3MiOiAwLCAgICAgICAgICAgICAgICAgICAgICsKKyAg ICAgICAgICAgICAiU2hhcmVkIERpcnRpZWQgQmxvY2tzIjogMCwgICAgICAgICAgICAgICAgICAg ICsKKyAgICAgICAgICAgICAiU2hhcmVkIFdyaXR0ZW4gQmxvY2tzIjogMCAgICAgICAgICAgICAg ICAgICAgICsKKyAgICAgICAgIH0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICsKKyAgICAgICAgICJQbGFubmluZyI6IHsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiTG9jYWwgSGl0IEJsb2NrcyI6IDAs ICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiU3RvcmFnZSBJL08gUmVh ZCI6IDAsICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiVGVtcCBSZWFk IEJsb2NrcyI6IDAsICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiTG9j YWwgUmVhZCBCbG9ja3MiOiAwLCAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAg ICAiU2hhcmVkIEhpdCBCbG9ja3MiOiAwLCAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAg ICAgICAgICAiU2hhcmVkIFJlYWQgQmxvY2tzIjogMCwgICAgICAgICAgICAgICAgICAgICAgICsK KyAgICAgICAgICAgICAiVGVtcCBXcml0dGVuIEJsb2NrcyI6IDAsICAgICAgICAgICAgICAgICAg ICAgICsKKyAgICAgICAgICAgICAiTG9jYWwgRGlydGllZCBCbG9ja3MiOiAwLCAgICAgICAgICAg ICAgICAgICAgICsKKyAgICAgICAgICAgICAiTG9jYWwgV3JpdHRlbiBCbG9ja3MiOiAwLCAgICAg ICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiU2hhcmVkIERpcnRpZWQgQmxvY2tzIjog MCwgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICAgICAiU2hhcmVkIFdyaXR0ZW4gQmxv Y2tzIjogMCAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgIH0sICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgICJUcmlnZ2VycyI6 IFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAgIF0sICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAgICAgICAg ICJFeGVjdXRpb24iOiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAg ICAgICAgICAgICAiU3RvcmFnZSBJL08gUmVhZCI6IDAgICAgICAgICAgICAgICAgICAgICAgICAg ICsKKyAgICAgICAgIH0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICsKKyAgICAgICAgICJQbGFubmluZyBUaW1lIjogMC4wLCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICsKKyAgICAgICAgICJFeGVjdXRpb24gVGltZSI6IDAuMCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICsKKyAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICsKKyBdCisoMSByb3cpCisKK3JvbGxiYWNrOworLS0g VGVzdCBkaXNwbGF5IG9mIHRlbXBvcmFyeSBvYmplY3RzCitjcmVhdGUgdGVtcCB0YWJsZSB0MShm MSBmbG9hdDgpOworY3JlYXRlIGZ1bmN0aW9uIHBnX3RlbXAubXlzaW4oZmxvYXQ4KSByZXR1cm5z IGZsb2F0OCBsYW5ndWFnZSBwbHBnc3FsCithcyAnYmVnaW4gcmV0dXJuIHNpbigkMSk7IGVuZCc7 CitzZWxlY3QgZXhwbGFpbl9maWx0ZXIoJ2V4cGxhaW4gKHZlcmJvc2UpIHNlbGVjdCAqIGZyb20g dDEgd2hlcmUgcGdfdGVtcC5teXNpbihmMSkgPCAwLjUnKTsKKyAgICAgICAgICAgICAgICAgICAg ICAgZXhwbGFpbl9maWx0ZXIgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgU2VxIFNjYW4g b24gcGdfdGVtcC50MSAgKGNvc3Q9Ti5OLi5OLk4gcm93cz1OIHdpZHRoPU4pCisgICBPdXRwdXQ6 IGYxCisgICBGaWx0ZXI6IChwZ190ZW1wLm15c2luKHQxLmYxKSA8ICdOLk4nOjpkb3VibGUgcHJl Y2lzaW9uKQorKDMgcm93cykKKworLS0gVGVzdCBjb21wdXRlX3F1ZXJ5X2lkCitzZXQgY29tcHV0 ZV9xdWVyeV9pZCA9IG9uOworc2VsZWN0IGV4cGxhaW5fZmlsdGVyKCdleHBsYWluICh2ZXJib3Nl KSBzZWxlY3QgKiBmcm9tIGludDhfdGJsIGk4Jyk7CisgICAgICAgICAgICAgICAgICAgICAgICAg ZXhwbGFpbl9maWx0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgU2VxIFNj YW4gb24gcHVibGljLmludDhfdGJsIGk4ICAoY29zdD1OLk4uLk4uTiByb3dzPU4gd2lkdGg9TikK KyAgIE91dHB1dDogcTEsIHEyCisgUXVlcnkgSWRlbnRpZmllcjogTgorKDMgcm93cykKKworLS0g VGVzdCBjb21wdXRlX3F1ZXJ5X2lkIHdpdGggdXRpbGl0eSBzdGF0ZW1lbnRzIGNvbnRhaW5pbmcg cGxhbm5hYmxlIHF1ZXJ5CitzZWxlY3QgZXhwbGFpbl9maWx0ZXIoJ2V4cGxhaW4gKHZlcmJvc2Up IGRlY2xhcmUgdGVzdF9jdXIgY3Vyc29yIGZvciBzZWxlY3QgKiBmcm9tIGludDhfdGJsJyk7Cisg ICAgICAgICAgICAgICAgICAgICAgIGV4cGxhaW5fZmlsdGVyICAgICAgICAgICAgICAgICAgICAg ICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsICAoY29zdD1OLk4uLk4uTiBy b3dzPU4gd2lkdGg9TikKKyAgIE91dHB1dDogcTEsIHEyCisgUXVlcnkgSWRlbnRpZmllcjogTgor KDMgcm93cykKKworc2VsZWN0IGV4cGxhaW5fZmlsdGVyKCdleHBsYWluICh2ZXJib3NlKSBjcmVh dGUgdGFibGUgdGVzdF9jdGFzIGFzIHNlbGVjdCAxJyk7CisgICAgICAgICAgICAgZXhwbGFpbl9m aWx0ZXIgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgUmVzdWx0ICAoY29zdD1OLk4uLk4uTiByb3dzPU4gd2lkdGg9TikKKyAgIE91dHB1dDog TgorIFF1ZXJ5IElkZW50aWZpZXI6IE4KKygzIHJvd3MpCisKKy0tIFRlc3QgU0VSSUFMSVpFIG9w dGlvbgorc2VsZWN0IGV4cGxhaW5fZmlsdGVyKCdleHBsYWluIChhbmFseXplLGJ1ZmZlcnMgb2Zm LHNlcmlhbGl6ZSkgc2VsZWN0ICogZnJvbSBpbnQ4X3RibCBpOCcpOworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBleHBsYWluX2ZpbHRlciAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIFNlcSBTY2FuIG9uIGludDhfdGJsIGk4ICAoY29zdD1OLk4uLk4uTiByb3dz PU4gd2lkdGg9TikgKGFjdHVhbCB0aW1lPU4uTi4uTi5OIHJvd3M9Ti5OIGxvb3BzPU4pCisgUGxh bm5pbmcgVGltZTogTi5OIG1zCisgU2VyaWFsaXphdGlvbjogdGltZT1OLk4gbXMgIG91dHB1dD1O a0IgIGZvcm1hdD10ZXh0CisgRXhlY3V0aW9uIFRpbWU6IE4uTiBtcworKDQgcm93cykKKworc2Vs ZWN0IGV4cGxhaW5fZmlsdGVyKCdleHBsYWluIChhbmFseXplLHNlcmlhbGl6ZSB0ZXh0LGJ1ZmZl cnMsdGltaW5nIG9mZikgc2VsZWN0ICogZnJvbSBpbnQ4X3RibCBpOCcpOworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGV4cGxhaW5fZmlsdGVyICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgU2VxIFNjYW4gb24g aW50OF90YmwgaTggIChjb3N0PU4uTi4uTi5OIHJvd3M9TiB3aWR0aD1OKSAoYWN0dWFsIHJvd3M9 Ti5OIGxvb3BzPU4pCisgUGxhbm5pbmcgVGltZTogTi5OIG1zCisgU2VyaWFsaXphdGlvbjogb3V0 cHV0PU5rQiAgZm9ybWF0PXRleHQKKyBFeGVjdXRpb24gVGltZTogTi5OIG1zCisoNCByb3dzKQor CitzZWxlY3QgZXhwbGFpbl9maWx0ZXIoJ2V4cGxhaW4gKGFuYWx5emUsc2VyaWFsaXplIGJpbmFy eSxidWZmZXJzLHRpbWluZykgc2VsZWN0ICogZnJvbSBpbnQ4X3RibCBpOCcpOworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBsYWluX2ZpbHRlciAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorIFNlcSBTY2FuIG9uIGludDhfdGJsIGk4ICAoY29zdD1OLk4uLk4u TiByb3dzPU4gd2lkdGg9TikgKGFjdHVhbCB0aW1lPU4uTi4uTi5OIHJvd3M9Ti5OIGxvb3BzPU4p CisgUGxhbm5pbmcgVGltZTogTi5OIG1zCisgU2VyaWFsaXphdGlvbjogdGltZT1OLk4gbXMgIG91 dHB1dD1Oa0IgIGZvcm1hdD1iaW5hcnkKKyBFeGVjdXRpb24gVGltZTogTi5OIG1zCisoNCByb3dz KQorCistLSB0aGlzIHRlc3RzIGFuIGVkZ2UgY2FzZSB3aGVyZSB3ZSBoYXZlIG5vIGRhdGEgdG8g cmV0dXJuCitzZWxlY3QgZXhwbGFpbl9maWx0ZXIoJ2V4cGxhaW4gKGFuYWx5emUsYnVmZmVycyBv ZmYsc2VyaWFsaXplKSBjcmVhdGUgdGVtcCB0YWJsZSBleHBsYWluX3RlbXAgYXMgc2VsZWN0ICog ZnJvbSBpbnQ4X3RibCBpOCcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBleHBsYWluX2ZpbHRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFNlcSBTY2Fu IG9uIGludDhfdGJsIGk4ICAoY29zdD1OLk4uLk4uTiByb3dzPU4gd2lkdGg9TikgKGFjdHVhbCB0 aW1lPU4uTi4uTi5OIHJvd3M9Ti5OIGxvb3BzPU4pCisgUGxhbm5pbmcgVGltZTogTi5OIG1zCisg U2VyaWFsaXphdGlvbjogdGltZT1OLk4gbXMgIG91dHB1dD1Oa0IgIGZvcm1hdD10ZXh0CisgRXhl Y3V0aW9uIFRpbWU6IE4uTiBtcworKDQgcm93cykKKworLS0gVGVzdCB0dXBsZXN0b3JlIHN0b3Jh Z2UgdXNhZ2UgaW4gV2luZG93IGFnZ3JlZ2F0ZSAobWVtb3J5IGNhc2UpCitzZWxlY3QgZXhwbGFp bl9maWx0ZXIoJ2V4cGxhaW4gKGFuYWx5emUsYnVmZmVycyBvZmYsY29zdHMgb2ZmKSBzZWxlY3Qg c3VtKG4pIG92ZXIoKSBmcm9tIGdlbmVyYXRlX3NlcmllcygxLDEwKSBhKG4pJyk7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwbGFpbl9maWx0ZXIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgV2luZG93QWdn IChhY3R1YWwgdGltZT1OLk4uLk4uTiByb3dzPU4uTiBsb29wcz1OKQorICAgV2luZG93OiB3MSBB UyAoKQorICAgU3RvcmFnZTogTWVtb3J5ICBNYXhpbXVtIFN0b3JhZ2U6IE5rQgorICAgLT4gIEZ1 bmN0aW9uIFNjYW4gb24gZ2VuZXJhdGVfc2VyaWVzIGEgKGFjdHVhbCB0aW1lPU4uTi4uTi5OIHJv d3M9Ti5OIGxvb3BzPU4pCisgUGxhbm5pbmcgVGltZTogTi5OIG1zCisgRXhlY3V0aW9uIFRpbWU6 IE4uTiBtcworKDYgcm93cykKKworLS0gVGVzdCB0dXBsZXN0b3JlIHN0b3JhZ2UgdXNhZ2UgaW4g V2luZG93IGFnZ3JlZ2F0ZSAoZGlzayBjYXNlKQorc2V0IHdvcmtfbWVtIHRvIDY0Oworc2VsZWN0 IGV4cGxhaW5fZmlsdGVyKCdleHBsYWluIChhbmFseXplLGJ1ZmZlcnMgb2ZmLGNvc3RzIG9mZikg c2VsZWN0IHN1bShuKSBvdmVyKCkgZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSwyNTAwKSBhKG4pJyk7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwbGFpbl9maWx0ZXIgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg V2luZG93QWdnIChhY3R1YWwgdGltZT1OLk4uLk4uTiByb3dzPU4uTiBsb29wcz1OKQorICAgV2lu ZG93OiB3MSBBUyAoKQorICAgU3RvcmFnZTogRGlzayAgTWF4aW11bSBTdG9yYWdlOiBOa0IKKyAg IC0+ICBGdW5jdGlvbiBTY2FuIG9uIGdlbmVyYXRlX3NlcmllcyBhIChhY3R1YWwgdGltZT1OLk4u Lk4uTiByb3dzPU4uTiBsb29wcz1OKQorIFBsYW5uaW5nIFRpbWU6IE4uTiBtcworIEV4ZWN1dGlv biBUaW1lOiBOLk4gbXMKKyg2IHJvd3MpCisKKy0tIFRlc3QgdHVwbGVzdG9yZSBzdG9yYWdlIHVz YWdlIGluIFdpbmRvdyBhZ2dyZWdhdGUgKG1lbW9yeSBhbmQgZGlzayBjYXNlLCBmaW5hbCByZXN1 bHQgaXMgZGlzaykKK3NlbGVjdCBleHBsYWluX2ZpbHRlcignZXhwbGFpbiAoYW5hbHl6ZSxidWZm ZXJzIG9mZixjb3N0cyBvZmYpIHNlbGVjdCBzdW0obikgb3ZlcihwYXJ0aXRpb24gYnkgbSkgZnJv bSAoU0VMRUNUIG4gPCAzIGFzIG0sIG4gZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSwyNTAwKSBhKG4p KScpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGxhaW5fZmlsdGVy ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIFdpbmRvd0FnZyAoYWN0dWFsIHRpbWU9Ti5OLi5OLk4gcm93cz1OLk4g bG9vcHM9TikKKyAgIFdpbmRvdzogdzEgQVMgKFBBUlRJVElPTiBCWSAoKGEubiA8IE4pKSkKKyAg IFN0b3JhZ2U6IERpc2sgIE1heGltdW0gU3RvcmFnZTogTmtCCisgICAtPiAgU29ydCAoYWN0dWFs IHRpbWU9Ti5OLi5OLk4gcm93cz1OLk4gbG9vcHM9TikKKyAgICAgICAgIFNvcnQgS2V5OiAoKGEu biA8IE4pKQorICAgICAgICAgU29ydCBNZXRob2Q6IGV4dGVybmFsIG1lcmdlICBEaXNrOiBOa0IK KyAgICAgICAgIC0+ICBGdW5jdGlvbiBTY2FuIG9uIGdlbmVyYXRlX3NlcmllcyBhIChhY3R1YWwg dGltZT1OLk4uLk4uTiByb3dzPU4uTiBsb29wcz1OKQorIFBsYW5uaW5nIFRpbWU6IE4uTiBtcwor IEV4ZWN1dGlvbiBUaW1lOiBOLk4gbXMKKyg5IHJvd3MpCisKK3Jlc2V0IHdvcmtfbWVtOwpkaWZm IC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgYi9zcmMvdG9vbHMvcGdp bmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCBiYjRlMWIzNzAwNS4uZDY0OTI4NDdlZWIgMTAwNjQ0 Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CisrKyBiL3NyYy90b29scy9w Z2luZGVudC90eXBlZGVmcy5saXN0CkBAIC0yNjU3LDYgKzI2NTcsNyBAQCBTU0wKIFNTTEV4dGVu c2lvbkluZm9Db250ZXh0CiBTU0xfQ1RYCiBTVEFSVFVQSU5GTworU3RvcmFnZUlPVXNhZ2UKIFNU UkxFTgogU1YKIFNZTkNIUk9OSVpBVElPTl9CQVJSSUVSCi0tIAoyLjQzLjAKCg== --=_f4f419493206c46ce9a0826d3a4b2035--