Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o4702-00009H-MF for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Jun 2022 20:30:55 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1o4700-0001kd-KA for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Jun 2022 20:30:52 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o4700-0001kT-1U for pgsql-hackers@lists.postgresql.org; Wed, 22 Jun 2022 20:30:52 +0000 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1o46zw-00016J-S2 for pgsql-hackers@postgresql.org; Wed, 22 Jun 2022 20:30:51 +0000 Received: by mail-ed1-x529.google.com with SMTP id e40so12981620eda.2 for ; Wed, 22 Jun 2022 13:30:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=sPdfVSmpZSyQLmCOH7Ffh8HUk+XNQkPkDrYrCzgqY88=; b=LqFIm3OAVU3YVGGCdiACey/c8Br2M/fjfegpPCJ/U0qfTCRSwU00LB/r1a5PK5OSiU qb872Zl/qjyXYAIyiuS+t/BfbtU8slzHLeseMuSYwVTdV6xPDBxXqs0MjzUU4Cv+Fjx5 7JCJ590CYPrghPwI8cVy2/ltjuUBHbGKezPpWmDqSlufVPPkQOb1MD2+TGCn7CgBQmd1 SPEd4QJ1xK6iM4OPgDpbilXK7FoPxzCuGvxbJQy8lB6HlEDBi74aQYEpXBbh6e6FRmAL +YyiFMDpOes9HwS8TdyV+ClN/BfWTHZIVx8wOJkz8rGtbyeWsckeNG0I9ZxL1xLkNgFg KGwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=sPdfVSmpZSyQLmCOH7Ffh8HUk+XNQkPkDrYrCzgqY88=; b=LuAjoY92QKSOheJSCVVJOxAXIba2GwRywsy6DgC+P0AwNw3xhMcOj46VDPOB67nFqv cn2VQ8AWx58UC9GfabHr4OnpgL+cytm1rY7YFLfGoF64OJEuAVYj1L1cGkK7fa1hC4uL WYgGVjxv81BOsa96acyQh+YCSaLZCa7uI1zdNOFooTNb+pEOunqPmWt/jaHgpi/tOYav YRnhn/jySYMBXH4twRiAgFMdVvbAZWSTHUZXYmSw+t4ymSmx+O33qWgVAV+EqaiOZQ18 ZubrzTByRI6qq+W4E9kJmNu2/LtMu5uGOZRZuREEoDd/8ziOAwSuKSfigrNm9xcHLlG4 m40w== X-Gm-Message-State: AJIora9hL3QzB6RRRk1JvjFrPz1dQttitfo8n8eOL8C4P9bCQSYWc+1Q TbVmlbrZ/onNUx7s00Ce6MjRtzhsplsBkCu2qxamLtMx X-Google-Smtp-Source: AGRyM1tBOJAgEZkZZKwSnWtvmohMboZvIKxL2f5+BIPEeJDmIzOojzfr7F0JN6T1gZpUEus60gKPMMCEnl1oaSQo3qg= X-Received: by 2002:a05:6402:11cb:b0:435:75ed:f12f with SMTP id j11-20020a05640211cb00b0043575edf12fmr6280475edw.305.1655929848035; Wed, 22 Jun 2022 13:30:48 -0700 (PDT) MIME-Version: 1.0 References: <20211108204449.GO20998@tamriel.snowman.net> <5F9388A2-35EA-4DAA-BE05-68D55EEA6DC3@amazon.com> <0ED10807-9E7F-4BB5-9473-4668EE68AE2D@amazon.com> <4117557.1641329799@sss.pgh.pa.us> <730520.1644168290@sss.pgh.pa.us> <80af9ba7-ec24-9134-8fd9-00bf13f5c494@joeconway.com> <1066202.1654190251@sss.pgh.pa.us> In-Reply-To: <1066202.1654190251@sss.pgh.pa.us> From: Robert Haas Date: Wed, 22 Jun 2022 16:30:36 -0400 Message-ID: Subject: Re: replacing role-level NOINHERIT with a grant-level option To: Tom Lane Cc: Joe Conway , "Bossart, Nathan" , Stephen Frost , PostgreSQL-development Content-Type: multipart/mixed; boundary="0000000000005d995505e20f3662" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000005d995505e20f3662 Content-Type: text/plain; charset="UTF-8" On Thu, Jun 2, 2022 at 1:17 PM Tom Lane wrote: > Point 2 would cause every existing pg_dumpall script to fail, which > seems like kind of a large gotcha. Less unpleasant alternatives > could include > > * Continue to accept the syntax, but ignore it, maybe with a WARNING > for the alternative that doesn't correspond to the new behavior. > > * Keep pg_authid.rolinherit, and have it act as supplying the default > behavior for subsequent GRANTs to that role. Here's a rather small patch that does it the first way. I know that Peter Eisentraut didn't like the idea of removing the role-level option, but I don't know why, so I don't know whether doing this the second way instead would address his objection. I suppose if we did it the second way, we could make the syntax GRANT granted_role TO recipient_role WITH INHERIT { TRUE | FALSE | DEFAULT }, and DEFAULT would copy the current value of the rolinherit property, so that changing the rolinherit property later would not affect previous grants. The reverse is also possible: with the same syntax, the rolinherit column could be changed from bool to "char", storing t/f/d, and 'd' could mean the value of the rolinherit property at time of use; thus, changing rolinherit would affect previous grants performed using WITH INHERIT DEFAULT but not those that specified WITH INHERIT TRUE or WITH INHERIT FALSE. In some sense, this whole scheme seems backwards to me: wouldn't it be more natural if the default were based on the role being granted rather than the role to which it is granted? If I decide to GRANT some_predefined_role TO some_user, it seems like I am really likely to want the INHERIT behavior, whereas if I GRANT some_other_user TO some_user, it could go either way depending on the use case. But this may be water under the bridge: introducing a way to set the default that is backwards from the way that the current role-level property works may be too confusing to be worthy of any consideration at all. Thoughts? -- Robert Haas EDB: http://www.enterprisedb.com --0000000000005d995505e20f3662 Content-Type: application/octet-stream; name="v1-0002-Replace-NO-INHERIT-property-for-roles-with-a-gran.patch" Content-Disposition: attachment; filename="v1-0002-Replace-NO-INHERIT-property-for-roles-with-a-gran.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4q1uuew1 RnJvbSA0OTk5OTQ5NjdkMTE2ZjhiYTU2YzY5ZDQwMjI1ZDk4Zjc2MTk4MmIxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSGFhcyA8cmhhYXNAcG9zdGdyZXNxbC5vcmc+CkRh dGU6IEZyaSwgMTAgSnVuIDIwMjIgMTY6Mjk6MTAgLTA0MDAKU3ViamVjdDogW1BBVENIIHYxIDIv Ml0gUmVwbGFjZSBbTk9dSU5IRVJJVCBwcm9wZXJ0eSBmb3Igcm9sZXMgd2l0aCBhCiBncmFudC1s ZXZlbCBvcHRpb24uCgotLS0KIGRvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sICAgICAgICAgICAg ICAgICAgIHwgIDMwICstLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICAg ICAgICAgfCAgIDEgLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvdXNlci5jICAgICAgICAgICAgICAg ICAgfCAyMTAgKysrKysrKysrKy0tLS0tCiBzcmMvYmFja2VuZC9ub2Rlcy9jb3B5ZnVuY3MuYyAg ICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2JhY2tlbmQvbm9kZXMvZXF1YWxmdW5jcy5jICAg ICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgICAg ICAgICAgICAgIHwgIDQ3ICsrKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9hY2wuYyAgICAgICAg ICAgICAgICAgIHwgIDQ3ICstLS0KIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wYWxsLmMgICAgICAg ICAgICAgICAgIHwgIDIxICstCiBzcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbCAgICAg ICAgICAgICB8ICAgMiArLQogc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgICAgICAgICAgICAgICAg ICAgICAgfCAgMjMgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYXV0aF9tZW1iZXJzLmggICAg ICAgIHwgICAxICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYXV0aGlkLmRhdCAgICAgICAgICAg IHwgIDI2ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2F1dGhpZC5oICAgICAgICAgICAgICB8 ICAgMSAtCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggICAgICAgICAgICAgICB8ICAg MiArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfcm9sZS5vdXQgICAgfCAgIDQg Kwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dCAgICAgfCAgIDIgKy0K IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcm9sZWF0dHJpYnV0ZXMub3V0IHwgMjU1ICsrKysr KysrKy0tLS0tLS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAgICAg ICAgIHwgICAxIC0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsICAgICAgICAg IHwgICAyICstCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9yb2xlYXR0cmlidXRlcy5zcWwgICAgICB8 ICA2NiArKy0tLQogMjAgZmlsZXMgY2hhbmdlZCwgMzkzIGluc2VydGlvbnMoKyksIDM1MiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbCBiL2RvYy9z cmMvc2dtbC9jYXRhbG9ncy5zZ21sCmluZGV4IGMwMGM5M2RkN2IuLjhmMDM3NzhkYzkgMTAwNjQ0 Ci0tLSBhL2RvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9jYXRh bG9ncy5zZ21sCkBAIC0xNTE3LDE2ICsxNTE3LDYgQEAKICAgICAgIDwvcGFyYT48L2VudHJ5Pgog ICAgICA8L3Jvdz4KIAotICAgICA8cm93PgotICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KLSAgICAgICA8c3RydWN0 ZmllbGQ+cm9saW5oZXJpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmJvb2w8L3R5cGU+Ci0gICAgICA8 L3BhcmE+Ci0gICAgICA8cGFyYT4KLSAgICAgICBSb2xlIGF1dG9tYXRpY2FsbHkgaW5oZXJpdHMg cHJpdmlsZWdlcyBvZiByb2xlcyBpdCBpcyBhCi0gICAgICAgbWVtYmVyIG9mCi0gICAgICA8L3Bh cmE+PC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0KICAgICAgPHJvdz4KICAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CiAg ICAgICAgPHN0cnVjdGZpZWxkPnJvbGNyZWF0ZXJvbGU8L3N0cnVjdGZpZWxkPiA8dHlwZT5ib29s PC90eXBlPgpAQCAtMTcwOCw2ICsxNjk4LDE2IEBAIFNDUkFNLVNIQS0yNTYkPHJlcGxhY2VhYmxl PiZsdDtpdGVyYXRpb24gY291bnQmZ3Q7PC9yZXBsYWNlYWJsZT46PHJlcGxhY2VhYmxlPiZsCiAg ICAgICAgPHN0cnVjdGZpZWxkPnJvbGVpZDwvc3RydWN0ZmllbGQ+IHRvIG90aGVycwogICAgICAg PC9wYXJhPjwvZW50cnk+CiAgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmhlcml0X29wdGlvbjwvc3RydWN0ZmllbGQ+IDx0eXBl PmJvb2w8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUcnVlIGlm IDxzdHJ1Y3RmaWVsZD5tZW1iZXI8L3N0cnVjdGZpZWxkPiBhdXRvbWF0aWNhbGx5IGluaGVyaXRz IHRoZQorICAgICAgIHByaXZpbGVnZXMgb2YgPHN0cnVjdGZpZWxkPnJvbGVpZDwvc3RydWN0Zmll bGQ+CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CiAgICAgPC90Ym9keT4KICAg IDwvdGdyb3VwPgogICA8L3RhYmxlPgpAQCAtMTIwNzEsMTYgKzEyMDcxLDYgQEAgU0VMRUNUICog RlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRfeGFjdHMgcHB4CiAgICAgICA8 L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+CiAKLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ Ci0gICAgICAgPHN0cnVjdGZpZWxkPnJvbGluaGVyaXQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5ib29s PC90eXBlPgotICAgICAgPC9wYXJhPgotICAgICAgPHBhcmE+Ci0gICAgICAgUm9sZSBhdXRvbWF0 aWNhbGx5IGluaGVyaXRzIHByaXZpbGVnZXMgb2Ygcm9sZXMgaXQgaXMgYQotICAgICAgIG1lbWJl ciBvZgotICAgICAgPC9wYXJhPjwvZW50cnk+Ci0gICAgIDwvcm93PgotCiAgICAgIDxyb3c+CiAg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgogICAgICAgIDxzdHJ1Y3RmaWVsZD5yb2xjcmVhdGVyb2xlPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+Ym9vbDwvdHlwZT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApp bmRleCBmZWRhZWQ1MzNiLi43OWY2Y2ZiMGZkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRh bG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsCkBAIC0xOCw3ICsxOCw2IEBAIENSRUFURSBWSUVXIHBnX3JvbGVzIEFTCiAgICAgU0VM RUNUCiAgICAgICAgIHJvbG5hbWUsCiAgICAgICAgIHJvbHN1cGVyLAotICAgICAgICByb2xpbmhl cml0LAogICAgICAgICByb2xjcmVhdGVyb2xlLAogICAgICAgICByb2xjcmVhdGVkYiwKICAgICAg ICAgcm9sY2FubG9naW4sCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy91c2VyLmMg Yi9zcmMvYmFja2VuZC9jb21tYW5kcy91c2VyLmMKaW5kZXggOTg0MzA1YmEzMS4uYjVhZGUwOTA1 YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdXNlci5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3VzZXIuYwpAQCAtNDIsNiArNDIsMTUgQEAKIC8qIFBvdGVudGlhbGx5IHNl dCBieSBwZ191cGdyYWRlX3N1cHBvcnQgZnVuY3Rpb25zICovCiBPaWQJCQliaW5hcnlfdXBncmFk ZV9uZXh0X3BnX2F1dGhpZF9vaWQgPSBJbnZhbGlkT2lkOwogCit0eXBlZGVmIHN0cnVjdAorewor CXVuc2lnbmVkCXNwZWNpZmllZDsKKwlib29sCQlhZG1pbjsKKwlib29sCQlpbmhlcml0OworfSBH cmFudFJvbGVPcHRpb25zOworCisjZGVmaW5lIEdSQU5UX1JPTEVfU1BFQ0lGSUVEX0FETUlOCQkJ MHgwMDAxCisjZGVmaW5lIEdSQU5UX1JPTEVfU1BFQ0lGSUVEX0lOSEVSSVQJCTB4MDAwMgogCiAv KiBHVUMgcGFyYW1ldGVyICovCiBpbnQJCQlQYXNzd29yZF9lbmNyeXB0aW9uID0gUEFTU1dPUkRf VFlQRV9TQ1JBTV9TSEFfMjU2OwpAQCAtNTEsMTAgKzYwLDExIEBAIGNoZWNrX3Bhc3N3b3JkX2hv b2tfdHlwZSBjaGVja19wYXNzd29yZF9ob29rID0gTlVMTDsKIAogc3RhdGljIHZvaWQgQWRkUm9s ZU1lbXMoY29uc3QgY2hhciAqcm9sZW5hbWUsIE9pZCByb2xlaWQsCiAJCQkJCQlMaXN0ICptZW1i ZXJTcGVjcywgTGlzdCAqbWVtYmVySWRzLAotCQkJCQkJT2lkIGdyYW50b3JJZCwgYm9vbCBhZG1p bl9vcHQpOworCQkJCQkJT2lkIGdyYW50b3JJZCwgR3JhbnRSb2xlT3B0aW9ucyAqcG9wdCk7CiBz dGF0aWMgdm9pZCBEZWxSb2xlTWVtcyhjb25zdCBjaGFyICpyb2xlbmFtZSwgT2lkIHJvbGVpZCwK IAkJCQkJCUxpc3QgKm1lbWJlclNwZWNzLCBMaXN0ICptZW1iZXJJZHMsCi0JCQkJCQlib29sIGFk bWluX29wdCk7CisJCQkJCQlHcmFudFJvbGVPcHRpb25zICpwb3B0KTsKK3N0YXRpYyB2b2lkIElu aXRHcmFudFJvbGVPcHRpb25zKEdyYW50Um9sZU9wdGlvbnMgKnBvcHQpOwogCiAKIC8qIENoZWNr IGlmIGN1cnJlbnQgdXNlciBoYXMgY3JlYXRlcm9sZSBwcml2aWxlZ2VzICovCkBAIC04MSw3ICs5 MSw2IEBAIENyZWF0ZVJvbGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVSb2xlU3RtdCAqc3Rt dCkKIAlMaXN0Q2VsbCAgICpvcHRpb247CiAJY2hhcgkgICAqcGFzc3dvcmQgPSBOVUxMOwkvKiB1 c2VyIHBhc3N3b3JkICovCiAJYm9vbAkJaXNzdXBlciA9IGZhbHNlOwkvKiBNYWtlIHRoZSB1c2Vy IGEgc3VwZXJ1c2VyPyAqLwotCWJvb2wJCWluaGVyaXQgPSB0cnVlOyAvKiBBdXRvIGluaGVyaXQg cHJpdmlsZWdlcz8gKi8KIAlib29sCQljcmVhdGVyb2xlID0gZmFsc2U7IC8qIENhbiB0aGlzIHVz ZXIgY3JlYXRlIHJvbGVzPyAqLwogCWJvb2wJCWNyZWF0ZWRiID0gZmFsc2U7CS8qIENhbiB0aGUg dXNlciBjcmVhdGUgZGF0YWJhc2VzPyAqLwogCWJvb2wJCWNhbmxvZ2luID0gZmFsc2U7CS8qIENh biB0aGlzIHVzZXIgbG9naW4/ICovCkBAIC05Niw3ICsxMDUsNiBAQCBDcmVhdGVSb2xlKFBhcnNl U3RhdGUgKnBzdGF0ZSwgQ3JlYXRlUm9sZVN0bXQgKnN0bXQpCiAJYm9vbAkJdmFsaWRVbnRpbF9u dWxsOwogCURlZkVsZW0gICAgKmRwYXNzd29yZCA9IE5VTEw7CiAJRGVmRWxlbSAgICAqZGlzc3Vw ZXIgPSBOVUxMOwotCURlZkVsZW0gICAgKmRpbmhlcml0ID0gTlVMTDsKIAlEZWZFbGVtICAgICpk Y3JlYXRlcm9sZSA9IE5VTEw7CiAJRGVmRWxlbSAgICAqZGNyZWF0ZWRiID0gTlVMTDsKIAlEZWZF bGVtICAgICpkY2FubG9naW4gPSBOVUxMOwpAQCAtMTA3LDYgKzExNSw3IEBAIENyZWF0ZVJvbGUo UGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVSb2xlU3RtdCAqc3RtdCkKIAlEZWZFbGVtICAgICpk YWRtaW5tZW1iZXJzID0gTlVMTDsKIAlEZWZFbGVtICAgICpkdmFsaWRVbnRpbCA9IE5VTEw7CiAJ RGVmRWxlbSAgICAqZGJ5cGFzc1JMUyA9IE5VTEw7CisJR3JhbnRSb2xlT3B0aW9ucwlwb3B0Owog CiAJLyogVGhlIGRlZmF1bHRzIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgb3JpZ2luYWwgc3Rh dGVtZW50IHR5cGUgKi8KIAlzd2l0Y2ggKHN0bXQtPnN0bXRfdHlwZSkKQEAgLTExNSw3ICsxMjQs NiBAQCBDcmVhdGVSb2xlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlUm9sZVN0bXQgKnN0bXQp CiAJCQlicmVhazsKIAkJY2FzZSBST0xFU1RNVF9VU0VSOgogCQkJY2FubG9naW4gPSB0cnVlOwot CQkJLyogbWF5IGV2ZW50dWFsbHkgd2FudCBpbmhlcml0IHRvIGRlZmF1bHQgdG8gZmFsc2UgaGVy ZSAqLwogCQkJYnJlYWs7CiAJCWNhc2UgUk9MRVNUTVRfR1JPVVA6CiAJCQlicmVhazsKQEAgLTE0 NSw5ICsxNTMsMTAgQEAgQ3JlYXRlUm9sZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVJvbGVT dG10ICpzdG10KQogCQl9CiAJCWVsc2UgaWYgKHN0cmNtcChkZWZlbC0+ZGVmbmFtZSwgImluaGVy aXQiKSA9PSAwKQogCQl7Ci0JCQlpZiAoZGluaGVyaXQpCi0JCQkJZXJyb3JDb25mbGljdGluZ0Rl ZkVsZW0oZGVmZWwsIHBzdGF0ZSk7Ci0JCQlkaW5oZXJpdCA9IGRlZmVsOworCQkJZXJlcG9ydChX QVJOSU5HLAorCQkJCQllcnJjb2RlKEVSUkNPREVfV0FSTklOR19ERVBSRUNBVEVEX0ZFQVRVUkUp LAorCQkJCQllcnJtc2coInJvbGUgb3B0aW9ucyBJTkhFUklUIGFuZCBOT0lOSEVSSVQgYXJlIGRl cHJlY2F0ZWQiKSwKKwkJCQkJZXJyaGludCgiZ3JhbnQgcm9sZSBtZW1iZXJzaGlwIFdJVEggSU5I RVJJVCBUUlVFIG9yIFdJVEggSU5IRVJJVCBGQUxTRSBpbnN0ZWFkIikpOwogCQl9CiAJCWVsc2Ug aWYgKHN0cmNtcChkZWZlbC0+ZGVmbmFtZSwgImNyZWF0ZXJvbGUiKSA9PSAwKQogCQl7CkBAIC0y MTgsOCArMjI3LDYgQEAgQ3JlYXRlUm9sZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVJvbGVT dG10ICpzdG10KQogCQlwYXNzd29yZCA9IHN0clZhbChkcGFzc3dvcmQtPmFyZyk7CiAJaWYgKGRp c3N1cGVyKQogCQlpc3N1cGVyID0gYm9vbFZhbChkaXNzdXBlci0+YXJnKTsKLQlpZiAoZGluaGVy aXQpCi0JCWluaGVyaXQgPSBib29sVmFsKGRpbmhlcml0LT5hcmcpOwogCWlmIChkY3JlYXRlcm9s ZSkKIAkJY3JlYXRlcm9sZSA9IGJvb2xWYWwoZGNyZWF0ZXJvbGUtPmFyZyk7CiAJaWYgKGRjcmVh dGVkYikKQEAgLTM0NSw3ICszNTIsNiBAQCBDcmVhdGVSb2xlKFBhcnNlU3RhdGUgKnBzdGF0ZSwg Q3JlYXRlUm9sZVN0bXQgKnN0bXQpCiAJCURpcmVjdEZ1bmN0aW9uQ2FsbDEobmFtZWluLCBDU3Ry aW5nR2V0RGF0dW0oc3RtdC0+cm9sZSkpOwogCiAJbmV3X3JlY29yZFtBbnVtX3BnX2F1dGhpZF9y b2xzdXBlciAtIDFdID0gQm9vbEdldERhdHVtKGlzc3VwZXIpOwotCW5ld19yZWNvcmRbQW51bV9w Z19hdXRoaWRfcm9saW5oZXJpdCAtIDFdID0gQm9vbEdldERhdHVtKGluaGVyaXQpOwogCW5ld19y ZWNvcmRbQW51bV9wZ19hdXRoaWRfcm9sY3JlYXRlcm9sZSAtIDFdID0gQm9vbEdldERhdHVtKGNy ZWF0ZXJvbGUpOwogCW5ld19yZWNvcmRbQW51bV9wZ19hdXRoaWRfcm9sY3JlYXRlZGIgLSAxXSA9 IEJvb2xHZXREYXR1bShjcmVhdGVkYik7CiAJbmV3X3JlY29yZFtBbnVtX3BnX2F1dGhpZF9yb2xj YW5sb2dpbiAtIDFdID0gQm9vbEdldERhdHVtKGNhbmxvZ2luKTsKQEAgLTQyOSw2ICs0MzUsOSBA QCBDcmVhdGVSb2xlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlUm9sZVN0bXQgKnN0bXQpCiAJ aWYgKGFkZHJvbGV0byB8fCBhZG1pbm1lbWJlcnMgfHwgcm9sZW1lbWJlcnMpCiAJCUNvbW1hbmRD b3VudGVySW5jcmVtZW50KCk7CiAKKwkvKiBEZWZhdWx0IGdyYW50LiAqLworCUluaXRHcmFudFJv bGVPcHRpb25zKCZwb3B0KTsKKwogCS8qCiAJICogQWRkIHRoZSBuZXcgcm9sZSB0byB0aGUgc3Bl Y2lmaWVkIGV4aXN0aW5nIHJvbGVzLgogCSAqLwpAQCAtNDUzLDcgKzQ2Miw3IEBAIENyZWF0ZVJv bGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVSb2xlU3RtdCAqc3RtdCkKIAkJCUFkZFJvbGVN ZW1zKG9sZHJvbGVuYW1lLCBvbGRyb2xlaWQsCiAJCQkJCQl0aGlzcm9sZV9saXN0LAogCQkJCQkJ dGhpc3JvbGVfb2lkbGlzdCwKLQkJCQkJCUdldFVzZXJJZCgpLCBmYWxzZSk7CisJCQkJCQlHZXRV c2VySWQoKSwgJnBvcHQpOwogCiAJCQlSZWxlYXNlU3lzQ2FjaGUob2xkcm9sZXR1cCk7CiAJCX0K QEAgLTQ2MywxMiArNDcyLDE0IEBAIENyZWF0ZVJvbGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVh dGVSb2xlU3RtdCAqc3RtdCkKIAkgKiBBZGQgdGhlIHNwZWNpZmllZCBtZW1iZXJzIHRvIHRoaXMg bmV3IHJvbGUuIGFkbWlubWVtYmVycyBnZXQgdGhlIGFkbWluCiAJICogb3B0aW9uLCByb2xlbWVt YmVycyBkb24ndC4KIAkgKi8KLQlBZGRSb2xlTWVtcyhzdG10LT5yb2xlLCByb2xlaWQsCi0JCQkJ YWRtaW5tZW1iZXJzLCByb2xlU3BlY3NUb0lkcyhhZG1pbm1lbWJlcnMpLAotCQkJCUdldFVzZXJJ ZCgpLCB0cnVlKTsKIAlBZGRSb2xlTWVtcyhzdG10LT5yb2xlLCByb2xlaWQsCiAJCQkJcm9sZW1l bWJlcnMsIHJvbGVTcGVjc1RvSWRzKHJvbGVtZW1iZXJzKSwKLQkJCQlHZXRVc2VySWQoKSwgZmFs c2UpOworCQkJCUdldFVzZXJJZCgpLCAmcG9wdCk7CisJcG9wdC5zcGVjaWZpZWQgfD0gR1JBTlRf Uk9MRV9TUEVDSUZJRURfQURNSU47CisJcG9wdC5hZG1pbiA9IHRydWU7CisJQWRkUm9sZU1lbXMo c3RtdC0+cm9sZSwgcm9sZWlkLAorCQkJCWFkbWlubWVtYmVycywgcm9sZVNwZWNzVG9JZHMoYWRt aW5tZW1iZXJzKSwKKwkJCQlHZXRVc2VySWQoKSwgJnBvcHQpOwogCiAJLyogUG9zdCBjcmVhdGlv biBob29rIGZvciBuZXcgcm9sZSAqLwogCUludm9rZU9iamVjdFBvc3RDcmVhdGVIb29rKEF1dGhJ ZFJlbGF0aW9uSWQsIHJvbGVpZCwgMCk7CkBAIC01MDksNyArNTIwLDYgQEAgQWx0ZXJSb2xlKFBh cnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJSb2xlU3RtdCAqc3RtdCkKIAlib29sCQl2YWxpZFVudGls X251bGw7CiAJRGVmRWxlbSAgICAqZHBhc3N3b3JkID0gTlVMTDsKIAlEZWZFbGVtICAgICpkaXNz dXBlciA9IE5VTEw7Ci0JRGVmRWxlbSAgICAqZGluaGVyaXQgPSBOVUxMOwogCURlZkVsZW0gICAg KmRjcmVhdGVyb2xlID0gTlVMTDsKIAlEZWZFbGVtICAgICpkY3JlYXRlZGIgPSBOVUxMOwogCURl ZkVsZW0gICAgKmRjYW5sb2dpbiA9IE5VTEw7CkBAIC01MTksNiArNTI5LDcgQEAgQWx0ZXJSb2xl KFBhcnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJSb2xlU3RtdCAqc3RtdCkKIAlEZWZFbGVtICAgICpk dmFsaWRVbnRpbCA9IE5VTEw7CiAJRGVmRWxlbSAgICAqZGJ5cGFzc1JMUyA9IE5VTEw7CiAJT2lk CQkJcm9sZWlkOworCUdyYW50Um9sZU9wdGlvbnMJcG9wdDsKIAogCWNoZWNrX3JvbGVzcGVjX25h bWUoc3RtdC0+cm9sZSwKIAkJCQkJCSJDYW5ub3QgYWx0ZXIgcmVzZXJ2ZWQgcm9sZXMuIik7CkBA IC01NDIsOSArNTUzLDEwIEBAIEFsdGVyUm9sZShQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyUm9s ZVN0bXQgKnN0bXQpCiAJCX0KIAkJZWxzZSBpZiAoc3RyY21wKGRlZmVsLT5kZWZuYW1lLCAiaW5o ZXJpdCIpID09IDApCiAJCXsKLQkJCWlmIChkaW5oZXJpdCkKLQkJCQllcnJvckNvbmZsaWN0aW5n RGVmRWxlbShkZWZlbCwgcHN0YXRlKTsKLQkJCWRpbmhlcml0ID0gZGVmZWw7CisJCQllcmVwb3J0 KFdBUk5JTkcsCisJCQkJCWVycmNvZGUoRVJSQ09ERV9XQVJOSU5HX0RFUFJFQ0FURURfRkVBVFVS RSksCisJCQkJCWVycm1zZygicm9sZSBvcHRpb25zIElOSEVSSVQgYW5kIE5PSU5IRVJJVCBhcmUg ZGVwcmVjYXRlZCIpLAorCQkJCQllcnJoaW50KCJncmFudCByb2xlIG1lbWJlcnNoaXAgV0lUSCBJ TkhFUklUIFRSVUUgb3IgV0lUSCBJTkhFUklUIEZBTFNFIGluc3RlYWQiKSk7CiAJCX0KIAkJZWxz ZSBpZiAoc3RyY21wKGRlZmVsLT5kZWZuYW1lLCAiY3JlYXRlcm9sZSIpID09IDApCiAJCXsKQEAg LTY1NCw3ICs2NjYsNyBAQCBBbHRlclJvbGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBBbHRlclJvbGVT dG10ICpzdG10KQogCWVsc2UgaWYgKCFoYXZlX2NyZWF0ZXJvbGVfcHJpdmlsZWdlKCkpCiAJewog CQkvKiBjaGVjayB0aGUgcmVzdCAqLwotCQlpZiAoZGluaGVyaXQgfHwgZGNyZWF0ZXJvbGUgfHwg ZGNyZWF0ZWRiIHx8IGRjYW5sb2dpbiB8fCBkY29ubmxpbWl0IHx8CisJCWlmIChkY3JlYXRlcm9s ZSB8fCBkY3JlYXRlZGIgfHwgZGNhbmxvZ2luIHx8IGRjb25ubGltaXQgfHwKIAkJCWRyb2xlbWVt YmVycyB8fCBkdmFsaWRVbnRpbCB8fCAhZHBhc3N3b3JkIHx8IHJvbGVpZCAhPSBHZXRVc2VySWQo KSkKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5U X1BSSVZJTEVHRSksCkBAIC03MDQsMTIgKzcxNiw2IEBAIEFsdGVyUm9sZShQYXJzZVN0YXRlICpw c3RhdGUsIEFsdGVyUm9sZVN0bXQgKnN0bXQpCiAJCW5ld19yZWNvcmRfcmVwbFtBbnVtX3BnX2F1 dGhpZF9yb2xzdXBlciAtIDFdID0gdHJ1ZTsKIAl9CiAKLQlpZiAoZGluaGVyaXQpCi0JewotCQlu ZXdfcmVjb3JkW0FudW1fcGdfYXV0aGlkX3JvbGluaGVyaXQgLSAxXSA9IEJvb2xHZXREYXR1bShi b29sVmFsKGRpbmhlcml0LT5hcmcpKTsKLQkJbmV3X3JlY29yZF9yZXBsW0FudW1fcGdfYXV0aGlk X3JvbGluaGVyaXQgLSAxXSA9IHRydWU7Ci0JfQotCiAJaWYgKGRjcmVhdGVyb2xlKQogCXsKIAkJ bmV3X3JlY29yZFtBbnVtX3BnX2F1dGhpZF9yb2xjcmVhdGVyb2xlIC0gMV0gPSBCb29sR2V0RGF0 dW0oYm9vbFZhbChkY3JlYXRlcm9sZS0+YXJnKSk7CkBAIC03OTIsNiArNzk4LDggQEAgQWx0ZXJS b2xlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJSb2xlU3RtdCAqc3RtdCkKIAlSZWxlYXNlU3lz Q2FjaGUodHVwbGUpOwogCWhlYXBfZnJlZXR1cGxlKG5ld190dXBsZSk7CiAKKwlJbml0R3JhbnRS b2xlT3B0aW9ucygmcG9wdCk7CisKIAkvKgogCSAqIEFkdmFuY2UgY29tbWFuZCBjb3VudGVyIHNv IHdlIGNhbiBzZWUgbmV3IHJlY29yZDsgZWxzZSB0ZXN0cyBpbgogCSAqIEFkZFJvbGVNZW1zIG1h eSBmYWlsLgpAQCAtODA1LDExICs4MTMsMTEgQEAgQWx0ZXJSb2xlKFBhcnNlU3RhdGUgKnBzdGF0 ZSwgQWx0ZXJSb2xlU3RtdCAqc3RtdCkKIAkJaWYgKHN0bXQtPmFjdGlvbiA9PSArMSkgLyogYWRk IG1lbWJlcnMgdG8gcm9sZSAqLwogCQkJQWRkUm9sZU1lbXMocm9sZW5hbWUsIHJvbGVpZCwKIAkJ CQkJCXJvbGVtZW1iZXJzLCByb2xlU3BlY3NUb0lkcyhyb2xlbWVtYmVycyksCi0JCQkJCQlHZXRV c2VySWQoKSwgZmFsc2UpOworCQkJCQkJR2V0VXNlcklkKCksICZwb3B0KTsKIAkJZWxzZSBpZiAo c3RtdC0+YWN0aW9uID09IC0xKQkvKiBkcm9wIG1lbWJlcnMgZnJvbSByb2xlICovCiAJCQlEZWxS b2xlTWVtcyhyb2xlbmFtZSwgcm9sZWlkLAogCQkJCQkJcm9sZW1lbWJlcnMsIHJvbGVTcGVjc1Rv SWRzKHJvbGVtZW1iZXJzKSwKLQkJCQkJCWZhbHNlKTsKKwkJCQkJCSZwb3B0KTsKIAl9CiAKIAkv KgpAQCAtMTIzMCw3ICsxMjM4LDMxIEBAIEdyYW50Um9sZShHcmFudFJvbGVTdG10ICpzdG10KQog CU9pZAkJCWdyYW50b3I7CiAJTGlzdAkgICAqZ3JhbnRlZV9pZHM7CiAJTGlzdENlbGwgICAqaXRl bTsKKwlHcmFudFJvbGVPcHRpb25zCXBvcHQ7CisKKwkvKiBQYXJzZSBvcHRpb25zIGxpc3QuICov CisJSW5pdEdyYW50Um9sZU9wdGlvbnMoJnBvcHQpOworCWZvcmVhY2goaXRlbSwgc3RtdC0+b3B0 KQorCXsKKwkJRGVmRWxlbQkgICAqb3B0ID0gKERlZkVsZW0gKikgbGZpcnN0KGl0ZW0pOwogCisJ CWlmIChzdHJjbXAob3B0LT5kZWZuYW1lLCAiYWRtaW4iKSA9PSAwKQorCQl7CisJCQlwb3B0LnNw ZWNpZmllZCB8PSBHUkFOVF9ST0xFX1NQRUNJRklFRF9BRE1JTjsKKwkJCXBvcHQuYWRtaW4gPSBk ZWZHZXRCb29sZWFuKG9wdCk7CisJCX0KKwkJZWxzZSBpZiAoc3RyY21wKG9wdC0+ZGVmbmFtZSwg ImluaGVyaXQiKSA9PSAwKQorCQl7CisJCQlwb3B0LnNwZWNpZmllZCB8PSBHUkFOVF9ST0xFX1NQ RUNJRklFRF9JTkhFUklUOworCQkJcG9wdC5pbmhlcml0ID0gZGVmR2V0Qm9vbGVhbihvcHQpOwor CQl9CisJCWVsc2UKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCWVycmNvZGUoRVJSQ09ERV9TWU5U QVhfRVJST1IpLAorCQkJCQllcnJtc2coInVucmVjb2duaXplZCByb2xlIG9wdGlvbiBcIiVzXCIi LCBvcHQtPmRlZm5hbWUpKTsKKwl9CisKKwkvKiBEZXRlcm1pbmUgZ3JhbnRvci4gKi8KIAlpZiAo c3RtdC0+Z3JhbnRvcikKIAkJZ3JhbnRvciA9IGdldF9yb2xlc3BlY19vaWQoc3RtdC0+Z3JhbnRv ciwgZmFsc2UpOwogCWVsc2UKQEAgLTEyNDMsOCArMTI3NSw3IEBAIEdyYW50Um9sZShHcmFudFJv bGVTdG10ICpzdG10KQogCiAJLyoKIAkgKiBTdGVwIHRocm91Z2ggYWxsIG9mIHRoZSBncmFudGVk IHJvbGVzIGFuZCBhZGQvcmVtb3ZlIGVudHJpZXMgZm9yIHRoZQotCSAqIGdyYW50ZWVzLCBvciwg aWYgYWRtaW5fb3B0IGlzIHNldCwgdGhlbiBqdXN0IGFkZC9yZW1vdmUgdGhlIGFkbWluCi0JICog b3B0aW9uLgorCSAqIGdyYW50ZWVzLCBvciwgaWYgb3B0ICE9IE5JTCwgdGhlbiBqdXN0IGFkZC9y ZW1vdmUgdGhlIG5hbWVkIG9wdGlvbihzKS4KIAkgKgogCSAqIE5vdGU6IFBlcm1pc3Npb25zIGNo ZWNraW5nIGlzIGRvbmUgYnkgQWRkUm9sZU1lbXMvRGVsUm9sZU1lbXMKIAkgKi8KQEAgLTEyNjQs MTEgKzEyOTUsMTEgQEAgR3JhbnRSb2xlKEdyYW50Um9sZVN0bXQgKnN0bXQpCiAJCWlmIChzdG10 LT5pc19ncmFudCkKIAkJCUFkZFJvbGVNZW1zKHJvbGVuYW1lLCByb2xlaWQsCiAJCQkJCQlzdG10 LT5ncmFudGVlX3JvbGVzLCBncmFudGVlX2lkcywKLQkJCQkJCWdyYW50b3IsIHN0bXQtPmFkbWlu X29wdCk7CisJCQkJCQlncmFudG9yLCAmcG9wdCk7CiAJCWVsc2UKIAkJCURlbFJvbGVNZW1zKHJv bGVuYW1lLCByb2xlaWQsCiAJCQkJCQlzdG10LT5ncmFudGVlX3JvbGVzLCBncmFudGVlX2lkcywK LQkJCQkJCXN0bXQtPmFkbWluX29wdCk7CisJCQkJCQkmcG9wdCk7CiAJfQogCiAJLyoKQEAgLTEz NzUsNyArMTQwNiw3IEBAIHJvbGVTcGVjc1RvSWRzKExpc3QgKm1lbWJlck5hbWVzKQogc3RhdGlj IHZvaWQKIEFkZFJvbGVNZW1zKGNvbnN0IGNoYXIgKnJvbGVuYW1lLCBPaWQgcm9sZWlkLAogCQkJ TGlzdCAqbWVtYmVyU3BlY3MsIExpc3QgKm1lbWJlcklkcywKLQkJCU9pZCBncmFudG9ySWQsIGJv b2wgYWRtaW5fb3B0KQorCQkJT2lkIGdyYW50b3JJZCwgR3JhbnRSb2xlT3B0aW9ucyAqcG9wdCkK IHsKIAlSZWxhdGlvbglwZ19hdXRobWVtX3JlbDsKIAlUdXBsZURlc2MJcGdfYXV0aG1lbV9kc2M7 CkBAIC0xNDgxLDM4ICsxNTEyLDYzIEBAIEFkZFJvbGVNZW1zKGNvbnN0IGNoYXIgKnJvbGVuYW1l LCBPaWQgcm9sZWlkLAogCQkJCQkgZXJybXNnKCJyb2xlIFwiJXNcIiBpcyBhIG1lbWJlciBvZiBy b2xlIFwiJXNcIiIsCiAJCQkJCQkJcm9sZW5hbWUsIGdldF9yb2xlc3BlY19uYW1lKG1lbWJlclJv bGUpKSkpOwogCi0JCS8qCi0JCSAqIENoZWNrIGlmIGVudHJ5IGZvciB0aGlzIHJvbGUvbWVtYmVy IGFscmVhZHkgZXhpc3RzOyBpZiBzbywgZ2l2ZQotCQkgKiB3YXJuaW5nIHVubGVzcyB3ZSBhcmUg YWRkaW5nIGFkbWluIG9wdGlvbi4KLQkJICovCi0JCWF1dGhtZW1fdHVwbGUgPSBTZWFyY2hTeXND YWNoZTIoQVVUSE1FTVJPTEVNRU0sCi0JCQkJCQkJCQkJT2JqZWN0SWRHZXREYXR1bShyb2xlaWQp LAotCQkJCQkJCQkJCU9iamVjdElkR2V0RGF0dW0obWVtYmVyaWQpKTsKLQkJaWYgKEhlYXBUdXBs ZUlzVmFsaWQoYXV0aG1lbV90dXBsZSkgJiYKLQkJCSghYWRtaW5fb3B0IHx8Ci0JCQkgKChGb3Jt X3BnX2F1dGhfbWVtYmVycykgR0VUU1RSVUNUKGF1dGhtZW1fdHVwbGUpKS0+YWRtaW5fb3B0aW9u KSkKLQkJewotCQkJZXJlcG9ydChOT1RJQ0UsCi0JCQkJCShlcnJtc2coInJvbGUgXCIlc1wiIGlz IGFscmVhZHkgYSBtZW1iZXIgb2Ygcm9sZSBcIiVzXCIiLAotCQkJCQkJCWdldF9yb2xlc3BlY19u YW1lKG1lbWJlclJvbGUpLCByb2xlbmFtZSkpKTsKLQkJCVJlbGVhc2VTeXNDYWNoZShhdXRobWVt X3R1cGxlKTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0KLQkJLyogQnVpbGQgYSB0dXBsZSB0byBpbnNl cnQgb3IgdXBkYXRlICovCisJCS8qIEluaXRpYWxpemUgYm9va2tlZXBpbmcgZm9yIHBvc3NpYmxl IGluc2VydCBvciB1cGRhdGUgKi8KIAkJTWVtU2V0KG5ld19yZWNvcmQsIDAsIHNpemVvZihuZXdf cmVjb3JkKSk7CiAJCU1lbVNldChuZXdfcmVjb3JkX251bGxzLCBmYWxzZSwgc2l6ZW9mKG5ld19y ZWNvcmRfbnVsbHMpKTsKIAkJTWVtU2V0KG5ld19yZWNvcmRfcmVwbCwgZmFsc2UsIHNpemVvZihu ZXdfcmVjb3JkX3JlcGwpKTsKKwkJbmV3X3JlY29yZFtBbnVtX3BnX2F1dGhfbWVtYmVyc19yb2xl aWQgLSAxXSA9CisJCQlPYmplY3RJZEdldERhdHVtKHJvbGVpZCk7CisJCW5ld19yZWNvcmRbQW51 bV9wZ19hdXRoX21lbWJlcnNfbWVtYmVyIC0gMV0gPQorCQkJT2JqZWN0SWRHZXREYXR1bShtZW1i ZXJpZCk7CisJCW5ld19yZWNvcmRbQW51bV9wZ19hdXRoX21lbWJlcnNfZ3JhbnRvciAtIDFdID0K KwkJCU9iamVjdElkR2V0RGF0dW0oZ3JhbnRvcklkKTsKKwkJbmV3X3JlY29yZFtBbnVtX3BnX2F1 dGhfbWVtYmVyc19hZG1pbl9vcHRpb24gLSAxXSA9CisJCQlCb29sR2V0RGF0dW0ocG9wdC0+YWRt aW4pOworCQluZXdfcmVjb3JkW0FudW1fcGdfYXV0aF9tZW1iZXJzX2luaGVyaXRfb3B0aW9uIC0g MV0gPQorCQkJQm9vbEdldERhdHVtKHBvcHQtPmluaGVyaXQpOworCisJCS8qIEZpbmQgYW55IGV4 aXN0aW5nIHR1cGxlICovCisJCWF1dGhtZW1fdHVwbGUgPSBTZWFyY2hTeXNDYWNoZTIoQVVUSE1F TVJPTEVNRU0sCisJCQkJCQkJCQkJT2JqZWN0SWRHZXREYXR1bShyb2xlaWQpLAorCQkJCQkJCQkJ CU9iamVjdElkR2V0RGF0dW0obWVtYmVyaWQpKTsKIAotCQluZXdfcmVjb3JkW0FudW1fcGdfYXV0 aF9tZW1iZXJzX3JvbGVpZCAtIDFdID0gT2JqZWN0SWRHZXREYXR1bShyb2xlaWQpOwotCQluZXdf cmVjb3JkW0FudW1fcGdfYXV0aF9tZW1iZXJzX21lbWJlciAtIDFdID0gT2JqZWN0SWRHZXREYXR1 bShtZW1iZXJpZCk7Ci0JCW5ld19yZWNvcmRbQW51bV9wZ19hdXRoX21lbWJlcnNfZ3JhbnRvciAt IDFdID0gT2JqZWN0SWRHZXREYXR1bShncmFudG9ySWQpOwotCQluZXdfcmVjb3JkW0FudW1fcGdf YXV0aF9tZW1iZXJzX2FkbWluX29wdGlvbiAtIDFdID0gQm9vbEdldERhdHVtKGFkbWluX29wdCk7 CiAKKwkJLyoKKwkJICogSWYgd2UgZm91bmQgYSB0dXBsZSwgdXBkYXRlIGl0IHdpdGggbmV3IG9w dGlvbiB2YWx1ZXMsIHVubGVzcworCQkgKiB0aGVyZSBhcmUgbm8gY2hhbmdlcywgaW4gd2hpY2gg Y2FzZSBpc3N1ZSBhIFdBUk5JTkcuCisJCSAqCisJCSAqIElmIHdlIGRpZG4ndCBmaW5kIGEgdHVw bGUsIGp1c3QgaW5zZXJ0IG9uZS4KKwkJICovCiAJCWlmIChIZWFwVHVwbGVJc1ZhbGlkKGF1dGht ZW1fdHVwbGUpKQogCQl7Ci0JCQluZXdfcmVjb3JkX3JlcGxbQW51bV9wZ19hdXRoX21lbWJlcnNf Z3JhbnRvciAtIDFdID0gdHJ1ZTsKLQkJCW5ld19yZWNvcmRfcmVwbFtBbnVtX3BnX2F1dGhfbWVt YmVyc19hZG1pbl9vcHRpb24gLSAxXSA9IHRydWU7CisJCQlGb3JtX3BnX2F1dGhfbWVtYmVycwlm b3JtOworCQkJYm9vbAkJYXRfbGVhc3Rfb25lX2NoYW5nZSA9IGZhbHNlOworCisJCQlmb3JtID0g KEZvcm1fcGdfYXV0aF9tZW1iZXJzKSBHRVRTVFJVQ1QoYXV0aG1lbV90dXBsZSk7CisKKwkJCWlm IChmb3JtLT5hZG1pbl9vcHRpb24gIT0gcG9wdC0+YWRtaW4pCisJCQl7CisJCQkJbmV3X3JlY29y ZF9yZXBsW0FudW1fcGdfYXV0aF9tZW1iZXJzX2FkbWluX29wdGlvbiAtIDFdID0KKwkJCQkJKHBv cHQtPnNwZWNpZmllZCAmIEdSQU5UX1JPTEVfU1BFQ0lGSUVEX0FETUlOKSAhPSAwOworCQkJCWF0 X2xlYXN0X29uZV9jaGFuZ2UgPSB0cnVlOworCQkJfQorCisJCQlpZiAoZm9ybS0+aW5oZXJpdF9v cHRpb24gIT0gcG9wdC0+aW5oZXJpdCkKKwkJCXsKKwkJCQluZXdfcmVjb3JkX3JlcGxbQW51bV9w Z19hdXRoX21lbWJlcnNfaW5oZXJpdF9vcHRpb24gLSAxXSA9CisJCQkJCShwb3B0LT5zcGVjaWZp ZWQgJiBHUkFOVF9ST0xFX1NQRUNJRklFRF9JTkhFUklUKSAhPSAwOworCQkJCWF0X2xlYXN0X29u ZV9jaGFuZ2UgPSB0cnVlOworCQkJfQorCisJCQlpZiAoIWF0X2xlYXN0X29uZV9jaGFuZ2UpCisJ CQl7CisJCQkJZXJlcG9ydChOT1RJQ0UsCisJCQkJCQkoZXJybXNnKCJyb2xlIFwiJXNcIiBpcyBh bHJlYWR5IGEgbWVtYmVyIG9mIHJvbGUgXCIlc1wiIiwKKwkJCQkJCQkJZ2V0X3JvbGVzcGVjX25h bWUobWVtYmVyUm9sZSksIHJvbGVuYW1lKSkpOworCQkJCVJlbGVhc2VTeXNDYWNoZShhdXRobWVt X3R1cGxlKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwogCQkJdHVwbGUgPSBoZWFwX21vZGlmeV90 dXBsZShhdXRobWVtX3R1cGxlLCBwZ19hdXRobWVtX2RzYywKIAkJCQkJCQkJCSAgbmV3X3JlY29y ZCwKIAkJCQkJCQkJCSAgbmV3X3JlY29yZF9udWxscywgbmV3X3JlY29yZF9yZXBsKTsKQEAgLTE1 MjEsNiArMTU3Nyw3IEBAIEFkZFJvbGVNZW1zKGNvbnN0IGNoYXIgKnJvbGVuYW1lLCBPaWQgcm9s ZWlkLAogCQl9CiAJCWVsc2UKIAkJeworCiAJCQl0dXBsZSA9IGhlYXBfZm9ybV90dXBsZShwZ19h dXRobWVtX2RzYywKIAkJCQkJCQkJCW5ld19yZWNvcmQsIG5ld19yZWNvcmRfbnVsbHMpOwogCQkJ Q2F0YWxvZ1R1cGxlSW5zZXJ0KHBnX2F1dGhtZW1fcmVsLCB0dXBsZSk7CkBAIC0xNTQ4LDcgKzE2 MDUsNyBAQCBBZGRSb2xlTWVtcyhjb25zdCBjaGFyICpyb2xlbmFtZSwgT2lkIHJvbGVpZCwKIHN0 YXRpYyB2b2lkCiBEZWxSb2xlTWVtcyhjb25zdCBjaGFyICpyb2xlbmFtZSwgT2lkIHJvbGVpZCwK IAkJCUxpc3QgKm1lbWJlclNwZWNzLCBMaXN0ICptZW1iZXJJZHMsCi0JCQlib29sIGFkbWluX29w dCkKKwkJCUdyYW50Um9sZU9wdGlvbnMgKnBvcHQpCiB7CiAJUmVsYXRpb24JcGdfYXV0aG1lbV9y ZWw7CiAJVHVwbGVEZXNjCXBnX2F1dGhtZW1fZHNjOwpAQCAtMTYwNSwxNCArMTY2MiwxNCBAQCBE ZWxSb2xlTWVtcyhjb25zdCBjaGFyICpyb2xlbmFtZSwgT2lkIHJvbGVpZCwKIAkJCWNvbnRpbnVl OwogCQl9CiAKLQkJaWYgKCFhZG1pbl9vcHQpCisJCWlmIChwb3B0LT5zcGVjaWZpZWQgPT0gMCkK IAkJewogCQkJLyogUmVtb3ZlIHRoZSBlbnRyeSBhbHRvZ2V0aGVyICovCiAJCQlDYXRhbG9nVHVw bGVEZWxldGUocGdfYXV0aG1lbV9yZWwsICZhdXRobWVtX3R1cGxlLT50X3NlbGYpOwogCQl9CiAJ CWVsc2UKIAkJewotCQkJLyogSnVzdCB0dXJuIG9mZiB0aGUgYWRtaW4gb3B0aW9uICovCisJCQkv KiBKdXN0IHR1cm4gb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uICovCiAJCQlIZWFwVHVwbGUJdHVw bGU7CiAJCQlEYXR1bQkJbmV3X3JlY29yZFtOYXR0c19wZ19hdXRoX21lbWJlcnNdOwogCQkJYm9v bAkJbmV3X3JlY29yZF9udWxsc1tOYXR0c19wZ19hdXRoX21lbWJlcnNdOwpAQCAtMTYyMyw4ICsx NjgwLDIyIEBAIERlbFJvbGVNZW1zKGNvbnN0IGNoYXIgKnJvbGVuYW1lLCBPaWQgcm9sZWlkLAog CQkJTWVtU2V0KG5ld19yZWNvcmRfbnVsbHMsIGZhbHNlLCBzaXplb2YobmV3X3JlY29yZF9udWxs cykpOwogCQkJTWVtU2V0KG5ld19yZWNvcmRfcmVwbCwgZmFsc2UsIHNpemVvZihuZXdfcmVjb3Jk X3JlcGwpKTsKIAotCQkJbmV3X3JlY29yZFtBbnVtX3BnX2F1dGhfbWVtYmVyc19hZG1pbl9vcHRp b24gLSAxXSA9IEJvb2xHZXREYXR1bShmYWxzZSk7Ci0JCQluZXdfcmVjb3JkX3JlcGxbQW51bV9w Z19hdXRoX21lbWJlcnNfYWRtaW5fb3B0aW9uIC0gMV0gPSB0cnVlOworCQkJaWYgKChwb3B0LT5z cGVjaWZpZWQgJiBHUkFOVF9ST0xFX1NQRUNJRklFRF9BRE1JTikgIT0gMCkKKwkJCXsKKwkJCQlu ZXdfcmVjb3JkW0FudW1fcGdfYXV0aF9tZW1iZXJzX2FkbWluX29wdGlvbiAtIDFdID0KKwkJCQkJ Qm9vbEdldERhdHVtKGZhbHNlKTsKKwkJCQluZXdfcmVjb3JkX3JlcGxbQW51bV9wZ19hdXRoX21l bWJlcnNfYWRtaW5fb3B0aW9uIC0gMV0gPQorCQkJCQl0cnVlOworCQkJfQorCQkJZWxzZSBpZiAo KHBvcHQtPnNwZWNpZmllZCAmIEdSQU5UX1JPTEVfU1BFQ0lGSUVEX0lOSEVSSVQpICE9IDApCisJ CQl7CisJCQkJbmV3X3JlY29yZFtBbnVtX3BnX2F1dGhfbWVtYmVyc19pbmhlcml0X29wdGlvbiAt IDFdID0KKwkJCQkJQm9vbEdldERhdHVtKGZhbHNlKTsKKwkJCQluZXdfcmVjb3JkX3JlcGxbQW51 bV9wZ19hdXRoX21lbWJlcnNfaW5oZXJpdF9vcHRpb24gLSAxXSA9CisJCQkJCXRydWU7CisJCQl9 CisJCQllbHNlCisJCQkJZWxvZyhFUlJPUiwgIm5vIHJvbGUgb3B0aW9uIHRvIHJldm9rZT8iKTsK IAogCQkJdHVwbGUgPSBoZWFwX21vZGlmeV90dXBsZShhdXRobWVtX3R1cGxlLCBwZ19hdXRobWVt X2RzYywKIAkJCQkJCQkJCSAgbmV3X3JlY29yZCwKQEAgLTE2NDMsMyArMTcxNCwxNCBAQCBEZWxS b2xlTWVtcyhjb25zdCBjaGFyICpyb2xlbmFtZSwgT2lkIHJvbGVpZCwKIAkgKi8KIAl0YWJsZV9j bG9zZShwZ19hdXRobWVtX3JlbCwgTm9Mb2NrKTsKIH0KKworLyoKKyAqIEluaXRpYWxpemUgYSBH cmFudFJvbGVPcHRpb25zIG9iamVjdCB3aXRoIGRlZmF1bHQgdmFsdWVzLgorICovCitzdGF0aWMg dm9pZAorSW5pdEdyYW50Um9sZU9wdGlvbnMoR3JhbnRSb2xlT3B0aW9ucyAqcG9wdCkKK3sKKwlw b3B0LT5zcGVjaWZpZWQgPSAwOworCXBvcHQtPmFkbWluID0gZmFsc2U7CisJcG9wdC0+aW5oZXJp dCA9IHRydWU7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9ub2Rlcy9jb3B5ZnVuY3MuYyBi L3NyYy9iYWNrZW5kL25vZGVzL2NvcHlmdW5jcy5jCmluZGV4IDUxZDYzMGZhODkuLjEzNWRhMWE4 YTggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL25vZGVzL2NvcHlmdW5jcy5jCisrKyBiL3NyYy9i YWNrZW5kL25vZGVzL2NvcHlmdW5jcy5jCkBAIC0zOTcxLDcgKzM5NzEsNyBAQCBfY29weUdyYW50 Um9sZVN0bXQoY29uc3QgR3JhbnRSb2xlU3RtdCAqZnJvbSkKIAlDT1BZX05PREVfRklFTEQoZ3Jh bnRlZF9yb2xlcyk7CiAJQ09QWV9OT0RFX0ZJRUxEKGdyYW50ZWVfcm9sZXMpOwogCUNPUFlfU0NB TEFSX0ZJRUxEKGlzX2dyYW50KTsKLQlDT1BZX1NDQUxBUl9GSUVMRChhZG1pbl9vcHQpOworCUNP UFlfTk9ERV9GSUVMRChvcHQpOwogCUNPUFlfTk9ERV9GSUVMRChncmFudG9yKTsKIAlDT1BZX1ND QUxBUl9GSUVMRChiZWhhdmlvcik7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL25vZGVzL2Vx dWFsZnVuY3MuYyBiL3NyYy9iYWNrZW5kL25vZGVzL2VxdWFsZnVuY3MuYwppbmRleCBlNzQ3ZTE2 NjdkLi5lN2Y3MmEzYzExIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9ub2Rlcy9lcXVhbGZ1bmNz LmMKKysrIGIvc3JjL2JhY2tlbmQvbm9kZXMvZXF1YWxmdW5jcy5jCkBAIC0xNTcyLDcgKzE1NzIs NyBAQCBfZXF1YWxHcmFudFJvbGVTdG10KGNvbnN0IEdyYW50Um9sZVN0bXQgKmEsIGNvbnN0IEdy YW50Um9sZVN0bXQgKmIpCiAJQ09NUEFSRV9OT0RFX0ZJRUxEKGdyYW50ZWRfcm9sZXMpOwogCUNP TVBBUkVfTk9ERV9GSUVMRChncmFudGVlX3JvbGVzKTsKIAlDT01QQVJFX1NDQUxBUl9GSUVMRChp c19ncmFudCk7Ci0JQ09NUEFSRV9TQ0FMQVJfRklFTEQoYWRtaW5fb3B0KTsKKwlDT01QQVJFX05P REVfRklFTEQob3B0KTsKIAlDT01QQVJFX05PREVfRklFTEQoZ3JhbnRvcik7CiAJQ09NUEFSRV9T Q0FMQVJfRklFTEQoYmVoYXZpb3IpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIv Z3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCA5NjljOWMxNThmLi43ZGY1 YTYwMDU1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CisrKyBiL3NyYy9i YWNrZW5kL3BhcnNlci9ncmFtLnkKQEAgLTM1OSw5ICszNTksMTIgQEAgc3RhdGljIE5vZGUgKm1h a2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUg KnF1ZXJ5KTsKICV0eXBlIDxub2RlPgl1dGlsaXR5X29wdGlvbl9hcmcKICV0eXBlIDxkZWZlbHQ+ CWRyb3Bfb3B0aW9uCiAldHlwZSA8Ym9vbGVhbj4Jb3B0X29yX3JlcGxhY2Ugb3B0X25vCi0JCQkJ b3B0X2dyYW50X2dyYW50X29wdGlvbiBvcHRfZ3JhbnRfYWRtaW5fb3B0aW9uCisJCQkJb3B0X2dy YW50X2dyYW50X29wdGlvbgogCQkJCW9wdF9ub3dhaXQgb3B0X2lmX2V4aXN0cyBvcHRfd2l0aF9k YXRhCiAJCQkJb3B0X3RyYW5zYWN0aW9uX2NoYWluCisldHlwZSA8bGlzdD4JZ3JhbnRfcm9sZV9v cHRfbGlzdAorJXR5cGUgPGRlZmVsdD4JZ3JhbnRfcm9sZV9vcHQKKyV0eXBlIDxub2RlPglncmFu dF9yb2xlX29wdF92YWx1ZQogJXR5cGUgPGl2YWw+CW9wdF9ub3dhaXRfb3Jfc2tpcAogCiAldHlw ZSA8bGlzdD4JT3B0Um9sZUxpc3QgQWx0ZXJPcHRSb2xlTGlzdApAQCAtNzgxOCwxNSArNzgyMSwy NiBAQCBvcHRfZ3JhbnRfZ3JhbnRfb3B0aW9uOgogICoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiBH cmFudFJvbGVTdG10OgotCQkJR1JBTlQgcHJpdmlsZWdlX2xpc3QgVE8gcm9sZV9saXN0IG9wdF9n cmFudF9hZG1pbl9vcHRpb24gb3B0X2dyYW50ZWRfYnkKKwkJCUdSQU5UIHByaXZpbGVnZV9saXN0 IFRPIHJvbGVfbGlzdCBvcHRfZ3JhbnRlZF9ieQogCQkJCXsKIAkJCQkJR3JhbnRSb2xlU3RtdCAq biA9IG1ha2VOb2RlKEdyYW50Um9sZVN0bXQpOwogCiAJCQkJCW4tPmlzX2dyYW50ID0gdHJ1ZTsK IAkJCQkJbi0+Z3JhbnRlZF9yb2xlcyA9ICQyOwogCQkJCQluLT5ncmFudGVlX3JvbGVzID0gJDQ7 Ci0JCQkJCW4tPmFkbWluX29wdCA9ICQ1OwotCQkJCQluLT5ncmFudG9yID0gJDY7CisJCQkJCW4t Pm9wdCA9IE5JTDsKKwkJCQkJbi0+Z3JhbnRvciA9ICQ1OworCQkJCQkkJCA9IChOb2RlICopIG47 CisJCQkJfQorCQkgIHwgR1JBTlQgcHJpdmlsZWdlX2xpc3QgVE8gcm9sZV9saXN0IFdJVEggZ3Jh bnRfcm9sZV9vcHRfbGlzdCBvcHRfZ3JhbnRlZF9ieQorCQkJCXsKKwkJCQkJR3JhbnRSb2xlU3Rt dCAqbiA9IG1ha2VOb2RlKEdyYW50Um9sZVN0bXQpOworCisJCQkJCW4tPmlzX2dyYW50ID0gdHJ1 ZTsKKwkJCQkJbi0+Z3JhbnRlZF9yb2xlcyA9ICQyOworCQkJCQluLT5ncmFudGVlX3JvbGVzID0g JDQ7CisJCQkJCW4tPm9wdCA9ICQ2OworCQkJCQluLT5ncmFudG9yID0gJDc7CiAJCQkJCSQkID0g KE5vZGUgKikgbjsKIAkJCQl9CiAJCTsKQEAgLTc4MzcsNyArNzg1MSw3IEBAIFJldm9rZVJvbGVT dG10OgogCQkJCQlHcmFudFJvbGVTdG10ICpuID0gbWFrZU5vZGUoR3JhbnRSb2xlU3RtdCk7CiAK IAkJCQkJbi0+aXNfZ3JhbnQgPSBmYWxzZTsKLQkJCQkJbi0+YWRtaW5fb3B0ID0gZmFsc2U7CisJ CQkJCW4tPm9wdCA9IE5JTDsKIAkJCQkJbi0+Z3JhbnRlZF9yb2xlcyA9ICQyOwogCQkJCQluLT5n cmFudGVlX3JvbGVzID0gJDQ7CiAJCQkJCW4tPmJlaGF2aW9yID0gJDY7CkBAIC03ODQ2LDkgKzc4 NjAsMTIgQEAgUmV2b2tlUm9sZVN0bXQ6CiAJCQl8IFJFVk9LRSBBRE1JTiBPUFRJT04gRk9SIHBy aXZpbGVnZV9saXN0IEZST00gcm9sZV9saXN0IG9wdF9ncmFudGVkX2J5IG9wdF9kcm9wX2JlaGF2 aW9yCiAJCQkJewogCQkJCQlHcmFudFJvbGVTdG10ICpuID0gbWFrZU5vZGUoR3JhbnRSb2xlU3Rt dCk7CisJCQkJCURlZkVsZW0gKm9wdDsKIAorCQkJCQlvcHQgPSBtYWtlRGVmRWxlbShwc3RyZHVw KCQyKSwKKwkJCQkJCQkJCSAgKE5vZGUgKikgbWFrZUJvb2xlYW4oZmFsc2UpLCBAMik7CiAJCQkJ CW4tPmlzX2dyYW50ID0gZmFsc2U7Ci0JCQkJCW4tPmFkbWluX29wdCA9IHRydWU7CisJCQkJCW4t Pm9wdCA9IGxpc3RfbWFrZTEob3B0KTsKIAkJCQkJbi0+Z3JhbnRlZF9yb2xlcyA9ICQ1OwogCQkJ CQluLT5ncmFudGVlX3JvbGVzID0gJDc7CiAJCQkJCW4tPmJlaGF2aW9yID0gJDk7CkBAIC03ODU2 LDggKzc4NzMsMjIgQEAgUmV2b2tlUm9sZVN0bXQ6CiAJCQkJfQogCQk7CiAKLW9wdF9ncmFudF9h ZG1pbl9vcHRpb246IFdJVEggQURNSU4gT1BUSU9OCQkJCXsgJCQgPSB0cnVlOyB9Ci0JCQl8IC8q RU1QVFkqLwkJCQkJCQkJCXsgJCQgPSBmYWxzZTsgfQorZ3JhbnRfcm9sZV9vcHRfbGlzdDoKKwkJ CWdyYW50X3JvbGVfb3B0X2xpc3QgZ3JhbnRfcm9sZV9vcHQJCXsgJCQgPSBsYXBwZW5kKCQxLCAk Mik7IH0KKwkJCXwgZ3JhbnRfcm9sZV9vcHQJCQkJCQl7ICQkID0gbGlzdF9tYWtlMSgkMSk7IH0K KwkJOworCitncmFudF9yb2xlX29wdDoKKwkJQ29sTGFiZWwgZ3JhbnRfcm9sZV9vcHRfdmFsdWUK KwkJCXsKKwkJCQkkJCA9IG1ha2VEZWZFbGVtKHBzdHJkdXAoJDEpLCAkMiwgQDIpOworCQkJfQor CQk7CisKK2dyYW50X3JvbGVfb3B0X3ZhbHVlOgorCQlPUFRJT04JCQl7ICQkID0gKE5vZGUgKikg bWFrZUJvb2xlYW4odHJ1ZSk7IH0KKwkJfCBUUlVFX1AJCXsgJCQgPSAoTm9kZSAqKSBtYWtlQm9v bGVhbih0cnVlKTsgfQorCQl8IEZBTFNFX1AJCXsgJCQgPSAoTm9kZSAqKSBtYWtlQm9vbGVhbihm YWxzZSk7IH0KIAkJOwogCiBvcHRfZ3JhbnRlZF9ieTogR1JBTlRFRCBCWSBSb2xlU3BlYwkJCQkJ CXsgJCQgPSAkMzsgfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2FjbC5jIGIv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L2FjbC5jCmluZGV4IDc3MmMwNDE1NWMuLjM5M2IzYmJhMGUg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9hY2wuYworKysgYi9zcmMvYmFja2Vu ZC91dGlscy9hZHQvYWNsLmMKQEAgLTY2LDcgKzY2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QKICAqLwog ZW51bSBSb2xlUmVjdXJzZVR5cGUKIHsKLQlST0xFUkVDVVJTRV9QUklWUyA9IDAsCQkvKiByZWN1 cnNlIGlmIHJvbGluaGVyaXQgKi8KKwlST0xFUkVDVVJTRV9QUklWUyA9IDAsCQkvKiByZWN1cnNl IHRocm91Z2ggaW5oZXJpdGFibGUgZ3JhbnRzICovCiAJUk9MRVJFQ1VSU0VfTUVNQkVSUyA9IDEJ CS8qIHJlY3Vyc2UgdW5jb25kaXRpb25hbGx5ICovCiB9Owogc3RhdGljIE9pZAljYWNoZWRfcm9s ZVtdID0ge0ludmFsaWRPaWQsIEludmFsaWRPaWR9OwpAQCAtNDc2MywxNSArNDc2MywxMiBAQCBp bml0aWFsaXplX2FjbCh2b2lkKQogCiAJCS8qCiAJCSAqIEluIG5vcm1hbCBtb2RlLCBzZXQgYSBj YWxsYmFjayBvbiBhbnkgc3lzY2FjaGUgaW52YWxpZGF0aW9uIG9mIHJvd3MKLQkJICogb2YgcGdf YXV0aF9tZW1iZXJzIChmb3Igcm9sZXNfaXNfbWVtYmVyX29mKCkpLCBwZ19hdXRoaWQgKGZvcgot CQkgKiBoYXNfcm9saW5oZXJpdCgpKSwgb3IgcGdfZGF0YWJhc2UgKGZvciByb2xlc19pc19tZW1i ZXJfb2YoKSkKKwkJICogb2YgcGdfYXV0aF9tZW1iZXJzIGFuZCBwZ19kYXRhYmFzZSwgc2luY2Ug Y2hhbmdlcyB0byB0aGVzZSBjYXRhbG9ncworCQkgKiBjYW4gYWZmZWN0IHRoZSByZXR1cm4gdmFs dWUgb2Ygcm9sZXNfaXNfbWVtYmVyX29mKCkuCiAJCSAqLwogCQlDYWNoZVJlZ2lzdGVyU3lzY2Fj aGVDYWxsYmFjayhBVVRITUVNUk9MRU1FTSwKIAkJCQkJCQkJCSAgUm9sZU1lbWJlcnNoaXBDYWNo ZUNhbGxiYWNrLAogCQkJCQkJCQkJICAoRGF0dW0pIDApOwotCQlDYWNoZVJlZ2lzdGVyU3lzY2Fj aGVDYWxsYmFjayhBVVRIT0lELAotCQkJCQkJCQkJICBSb2xlTWVtYmVyc2hpcENhY2hlQ2FsbGJh Y2ssCi0JCQkJCQkJCQkgIChEYXR1bSkgMCk7CiAJCUNhY2hlUmVnaXN0ZXJTeXNjYWNoZUNhbGxi YWNrKERBVEFCQVNFT0lELAogCQkJCQkJCQkJICBSb2xlTWVtYmVyc2hpcENhY2hlQ2FsbGJhY2ss CiAJCQkJCQkJCQkgIChEYXR1bSkgMCk7CkBAIC00Nzk3LDI5ICs0Nzk0LDExIEBAIFJvbGVNZW1i ZXJzaGlwQ2FjaGVDYWxsYmFjayhEYXR1bSBhcmcsIGludCBjYWNoZWlkLCB1aW50MzIgaGFzaHZh bHVlKQogCWNhY2hlZF9yb2xlW1JPTEVSRUNVUlNFX01FTUJFUlNdID0gSW52YWxpZE9pZDsKIH0K IAotCi0vKiBDaGVjayBpZiBzcGVjaWZpZWQgcm9sZSBoYXMgcm9saW5oZXJpdCBzZXQgKi8KLXN0 YXRpYyBib29sCi1oYXNfcm9saW5oZXJpdChPaWQgcm9sZWlkKQotewotCWJvb2wJCXJlc3VsdCA9 IGZhbHNlOwotCUhlYXBUdXBsZQl1dHVwOwotCi0JdXR1cCA9IFNlYXJjaFN5c0NhY2hlMShBVVRI T0lELCBPYmplY3RJZEdldERhdHVtKHJvbGVpZCkpOwotCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHV0 dXApKQotCXsKLQkJcmVzdWx0ID0gKChGb3JtX3BnX2F1dGhpZCkgR0VUU1RSVUNUKHV0dXApKS0+ cm9saW5oZXJpdDsKLQkJUmVsZWFzZVN5c0NhY2hlKHV0dXApOwotCX0KLQlyZXR1cm4gcmVzdWx0 OwotfQotCi0KIC8qCiAgKiBHZXQgYSBsaXN0IG9mIHJvbGVzIHRoYXQgdGhlIHNwZWNpZmllZCBy b2xlaWQgaXMgYSBtZW1iZXIgb2YKICAqCi0gKiBUeXBlIFJPTEVSRUNVUlNFX1BSSVZTIHJlY3Vy c2VzIG9ubHkgdGhyb3VnaCByb2xlcyB0aGF0IGhhdmUgcm9saW5oZXJpdAotICogc2V0LCB3aGls ZSBST0xFUkVDVVJTRV9NRU1CRVJTIHJlY3Vyc2VzIHRocm91Z2ggYWxsIHJvbGVzLiAgVGhpcyBz ZXRzCisgKiBUeXBlIFJPTEVSRUNVUlNFX1BSSVZTIHJlY3Vyc2VzIG9ubHkgdGhyb3VnaCBncmFu dHMgdGhhdCBoYXZlICdpbmhlcml0JworICogc2V0LCB3aGlsZSBST0xFUkVDVVJTRV9NRU1CRVJT IHJlY3Vyc2VzIHRocm91Z2ggYWxsIGdyYW50cy4gIFRoaXMgc2V0cwogICogKmlzX2FkbWluPT10 cnVlIGlmIGFuZCBvbmx5IGlmIHJvbGUgInJvbGVpZCIgaGFzIGFuIEFETUlOIE9QVElPTiBtZW1i ZXJzaGlwCiAgKiBpbiByb2xlICJhZG1pbl9vZiIuCiAgKgpAQCAtNDg4NCwyMyArNDg2MywyMyBA QCByb2xlc19pc19tZW1iZXJfb2YoT2lkIHJvbGVpZCwgZW51bSBSb2xlUmVjdXJzZVR5cGUgdHlw ZSwKIAkJQ2F0Q0xpc3QgICAqbWVtbGlzdDsKIAkJaW50CQkJaTsKIAotCQlpZiAodHlwZSA9PSBS T0xFUkVDVVJTRV9QUklWUyAmJiAhaGFzX3JvbGluaGVyaXQobWVtYmVyaWQpKQotCQkJY29udGlu dWU7CQkJLyogaWdub3JlIG5vbi1pbmhlcml0aW5nIHJvbGVzICovCi0KIAkJLyogRmluZCByb2xl cyB0aGF0IG1lbWJlcmlkIGlzIGRpcmVjdGx5IGEgbWVtYmVyIG9mICovCiAJCW1lbWxpc3QgPSBT ZWFyY2hTeXNDYWNoZUxpc3QxKEFVVEhNRU1NRU1ST0xFLAogCQkJCQkJCQkJICBPYmplY3RJZEdl dERhdHVtKG1lbWJlcmlkKSk7CiAJCWZvciAoaSA9IDA7IGkgPCBtZW1saXN0LT5uX21lbWJlcnM7 IGkrKykKIAkJewogCQkJSGVhcFR1cGxlCXR1cCA9ICZtZW1saXN0LT5tZW1iZXJzW2ldLT50dXBs ZTsKLQkJCU9pZAkJCW90aGVyaWQgPSAoKEZvcm1fcGdfYXV0aF9tZW1iZXJzKSBHRVRTVFJVQ1Qo dHVwKSktPnJvbGVpZDsKKwkJCUZvcm1fcGdfYXV0aF9tZW1iZXJzIGZvcm0gPSAoRm9ybV9wZ19h dXRoX21lbWJlcnMpIEdFVFNUUlVDVCh0dXApOworCQkJT2lkCQkJb3RoZXJpZCA9IGZvcm0tPnJv bGVpZDsKKworCQkJaWYgKHR5cGUgPT0gUk9MRVJFQ1VSU0VfUFJJVlMgJiYgIWZvcm0tPmluaGVy aXRfb3B0aW9uKQorCQkJCWNvbnRpbnVlOwkJCS8qIGlnbm9yZSBub24taGVyaXRhYmxlIGdyYW50 cyAqLwogCiAJCQkvKgogCQkJICogV2hpbGUgb3RoZXJpZD09SW52YWxpZE9pZCBzaG91bGRuJ3Qg YXBwZWFyIGluIHRoZSBjYXRhbG9nLCB0aGUKIAkJCSAqIE9pZElzVmFsaWQoKSBhdm9pZHMgY3Jh c2hpbmcgaWYgdGhhdCBhcmlzZXMuCiAJCQkgKi8KLQkJCWlmIChvdGhlcmlkID09IGFkbWluX29m ICYmCi0JCQkJKChGb3JtX3BnX2F1dGhfbWVtYmVycykgR0VUU1RSVUNUKHR1cCkpLT5hZG1pbl9v cHRpb24gJiYKKwkJCWlmIChvdGhlcmlkID09IGFkbWluX29mICYmIGZvcm0tPmFkbWluX29wdGlv biAmJgogCQkJCU9pZElzVmFsaWQoYWRtaW5fb2YpKQogCQkJCSppc19hZG1pbiA9IHRydWU7CiAK QEAgLTQ5NDMsNyArNDkyMiw3IEBAIHJvbGVzX2lzX21lbWJlcl9vZihPaWQgcm9sZWlkLCBlbnVt IFJvbGVSZWN1cnNlVHlwZSB0eXBlLAogLyoKICAqIERvZXMgbWVtYmVyIGhhdmUgdGhlIHByaXZp bGVnZXMgb2Ygcm9sZSAoZGlyZWN0bHkgb3IgaW5kaXJlY3RseSk/CiAgKgotICogVGhpcyBpcyBk ZWZpbmVkIG5vdCB0byByZWN1cnNlIHRocm91Z2ggcm9sZXMgdGhhdCBkb24ndCBoYXZlIHJvbGlu aGVyaXQKKyAqIFRoaXMgaXMgZGVmaW5lZCBub3QgdG8gcmVjdXJzZSB0aHJvdWdoIGdyYW50cyB0 aGF0IGRvbid0IGhhdmUgaW5oZXJpdF9vcHRpb24KICAqIHNldDsgZm9yIHN1Y2ggcm9sZXMsIG1l bWJlcnNoaXAgaW1wbGllcyB0aGUgYWJpbGl0eSB0byBkbyBTRVQgUk9MRSwgYnV0CiAgKiB0aGUg cHJpdmlsZWdlcyBhcmUgbm90IGF2YWlsYWJsZSB1bnRpbCB5b3UndmUgZG9uZSBzby4KICAqLwpA QCAtNDk3MSw3ICs0OTUwLDcgQEAgaGFzX3ByaXZzX29mX3JvbGUoT2lkIG1lbWJlciwgT2lkIHJv bGUpCiAvKgogICogSXMgbWVtYmVyIGEgbWVtYmVyIG9mIHJvbGUgKGRpcmVjdGx5IG9yIGluZGly ZWN0bHkpPwogICoKLSAqIFRoaXMgaXMgZGVmaW5lZCB0byByZWN1cnNlIHRocm91Z2ggcm9sZXMg cmVnYXJkbGVzcyBvZiByb2xpbmhlcml0LgorICogVGhpcyBpcyBkZWZpbmVkIHRvIHJlY3Vyc2Ug dGhyb3VnaCBncmFudHMgcmVnYXJkbGVzcyBvZiBpbmhlcml0X29wdGlvbi4KICAqCiAgKiBEbyBu b3QgdXNlIHRoaXMgZm9yIHByaXZpbGVnZSBjaGVja2luZywgaW5zdGVhZCB1c2UgaGFzX3ByaXZz X29mX3JvbGUoKQogICovCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcGFsbC5j IGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBhbGwuYwppbmRleCBhZTQxYTY1MmQ3Li4zODIwODY2 ZDE5IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcGFsbC5jCisrKyBiL3NyYy9i aW4vcGdfZHVtcC9wZ19kdW1wYWxsLmMKQEAgLTcyMyw3ICs3MjMsNiBAQCBkdW1wUm9sZXMoUEdj b25uICpjb25uKQogCWludAkJCWlfb2lkLAogCQkJCWlfcm9sbmFtZSwKIAkJCQlpX3JvbHN1cGVy LAotCQkJCWlfcm9saW5oZXJpdCwKIAkJCQlpX3JvbGNyZWF0ZXJvbGUsCiAJCQkJaV9yb2xjcmVh dGVkYiwKIAkJCQlpX3JvbGNhbmxvZ2luLApAQCAtNzM5LDcgKzczOCw3IEBAIGR1bXBSb2xlcyhQ R2Nvbm4gKmNvbm4pCiAJLyogbm90ZTogcm9sY29uZmlnIGlzIGR1bXBlZCBsYXRlciAqLwogCWlm IChzZXJ2ZXJfdmVyc2lvbiA+PSA5MDYwMCkKIAkJcHJpbnRmUFFFeHBCdWZmZXIoYnVmLAotCQkJ CQkJICAiU0VMRUNUIG9pZCwgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsICIKKwkJCQkJ CSAgIlNFTEVDVCBvaWQsIHJvbG5hbWUsIHJvbHN1cGVyLCAiCiAJCQkJCQkgICJyb2xjcmVhdGVy b2xlLCByb2xjcmVhdGVkYiwgIgogCQkJCQkJICAicm9sY2FubG9naW4sIHJvbGNvbm5saW1pdCwg cm9scGFzc3dvcmQsICIKIAkJCQkJCSAgInJvbHZhbGlkdW50aWwsIHJvbHJlcGxpY2F0aW9uLCBy b2xieXBhc3NybHMsICIKQEAgLTc1MCw3ICs3NDksNyBAQCBkdW1wUm9sZXMoUEdjb25uICpjb25u KQogCQkJCQkJICAiT1JERVIgQlkgMiIsIHJvbGVfY2F0YWxvZywgcm9sZV9jYXRhbG9nKTsKIAll bHNlIGlmIChzZXJ2ZXJfdmVyc2lvbiA+PSA5MDUwMCkKIAkJcHJpbnRmUFFFeHBCdWZmZXIoYnVm LAotCQkJCQkJICAiU0VMRUNUIG9pZCwgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsICIK KwkJCQkJCSAgIlNFTEVDVCBvaWQsIHJvbG5hbWUsIHJvbHN1cGVyLCAiCiAJCQkJCQkgICJyb2xj cmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgIgogCQkJCQkJICAicm9sY2FubG9naW4sIHJvbGNvbm5s aW1pdCwgcm9scGFzc3dvcmQsICIKIAkJCQkJCSAgInJvbHZhbGlkdW50aWwsIHJvbHJlcGxpY2F0 aW9uLCByb2xieXBhc3NybHMsICIKQEAgLTc2MCw3ICs3NTksNyBAQCBkdW1wUm9sZXMoUEdjb25u ICpjb25uKQogCQkJCQkJICAiT1JERVIgQlkgMiIsIHJvbGVfY2F0YWxvZywgcm9sZV9jYXRhbG9n KTsKIAllbHNlCiAJCXByaW50ZlBRRXhwQnVmZmVyKGJ1ZiwKLQkJCQkJCSAgIlNFTEVDVCBvaWQs IHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCAiCisJCQkJCQkgICJTRUxFQ1Qgb2lkLCBy b2xuYW1lLCByb2xzdXBlciwgIgogCQkJCQkJICAicm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIs ICIKIAkJCQkJCSAgInJvbGNhbmxvZ2luLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCAiCiAJ CQkJCQkgICJyb2x2YWxpZHVudGlsLCByb2xyZXBsaWNhdGlvbiwgIgpAQCAtNzc1LDcgKzc3NCw2 IEBAIGR1bXBSb2xlcyhQR2Nvbm4gKmNvbm4pCiAJaV9vaWQgPSBQUWZudW1iZXIocmVzLCAib2lk Iik7CiAJaV9yb2xuYW1lID0gUFFmbnVtYmVyKHJlcywgInJvbG5hbWUiKTsKIAlpX3JvbHN1cGVy ID0gUFFmbnVtYmVyKHJlcywgInJvbHN1cGVyIik7Ci0JaV9yb2xpbmhlcml0ID0gUFFmbnVtYmVy KHJlcywgInJvbGluaGVyaXQiKTsKIAlpX3JvbGNyZWF0ZXJvbGUgPSBQUWZudW1iZXIocmVzLCAi cm9sY3JlYXRlcm9sZSIpOwogCWlfcm9sY3JlYXRlZGIgPSBQUWZudW1iZXIocmVzLCAicm9sY3Jl YXRlZGIiKTsKIAlpX3JvbGNhbmxvZ2luID0gUFFmbnVtYmVyKHJlcywgInJvbGNhbmxvZ2luIik7 CkBAIC04MzMsMTEgKzgzMSw2IEBAIGR1bXBSb2xlcyhQR2Nvbm4gKmNvbm4pCiAJCWVsc2UKIAkJ CWFwcGVuZFBRRXhwQnVmZmVyU3RyKGJ1ZiwgIiBOT1NVUEVSVVNFUiIpOwogCi0JCWlmIChzdHJj bXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfcm9saW5oZXJpdCksICJ0IikgPT0gMCkKLQkJCWFwcGVu ZFBRRXhwQnVmZmVyU3RyKGJ1ZiwgIiBJTkhFUklUIik7Ci0JCWVsc2UKLQkJCWFwcGVuZFBRRXhw QnVmZmVyU3RyKGJ1ZiwgIiBOT0lOSEVSSVQiKTsKLQogCQlpZiAoc3RyY21wKFBRZ2V0dmFsdWUo cmVzLCBpLCBpX3JvbGNyZWF0ZXJvbGUpLCAidCIpID09IDApCiAJCQlhcHBlbmRQUUV4cEJ1ZmZl clN0cihidWYsICIgQ1JFQVRFUk9MRSIpOwogCQllbHNlCkBAIC05MzAsOCArOTIzLDEyIEBAIGR1 bXBSb2xlTWVtYmVyc2hpcChQR2Nvbm4gKmNvbm4pCiAJcHJpbnRmUFFFeHBCdWZmZXIoYnVmLCAi U0VMRUNUIHVyLnJvbG5hbWUgQVMgcm9sZWlkLCAiCiAJCQkJCSAgInVtLnJvbG5hbWUgQVMgbWVt YmVyLCAiCiAJCQkJCSAgImEuYWRtaW5fb3B0aW9uLCAiCi0JCQkJCSAgInVnLnJvbG5hbWUgQVMg Z3JhbnRvciAiCi0JCQkJCSAgIkZST00gcGdfYXV0aF9tZW1iZXJzIGEgIgorCQkJCQkgICJ1Zy5y b2xuYW1lIEFTIGdyYW50b3IsICIpOworCWlmIChzZXJ2ZXJfdmVyc2lvbiA+PSAxNjAwMDApCisJ CWFwcGVuZFBRRXhwQnVmZmVyKGJ1ZiwgImEuaW5oZXJpdF9vcHRpb24gIik7CisJZWxzZQorCQlh cHBlbmRQUUV4cEJ1ZmZlcihidWYsICJ1bS5yb2xpbmhlcml0IEFTIGluaGVyaXRfb3B0aW9uICIp OworCWFwcGVuZFBRRXhwQnVmZmVyKGJ1ZiwgIkZST00gcGdfYXV0aF9tZW1iZXJzIGEgIgogCQkJ CQkgICJMRUZUIEpPSU4gJXMgdXIgb24gdXIub2lkID0gYS5yb2xlaWQgIgogCQkJCQkgICJMRUZU IEpPSU4gJXMgdW0gb24gdW0ub2lkID0gYS5tZW1iZXIgIgogCQkJCQkgICJMRUZUIEpPSU4gJXMg dWcgb24gdWcub2lkID0gYS5ncmFudG9yICIKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC90 LzAwMl9wZ19kdW1wLnBsIGIvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwKaW5kZXgg MWYwODcxNmY2OS4uOTk4OTRiOTkxNCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3QvMDAy X3BnX2R1bXAucGwKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwKQEAgLTU3 NSw3ICs1NzUsNyBAQCBteSAldGVzdHMgPSAoCiAJJ0FMVEVSIFJPTEUgcmVncmVzc19kdW1wX3Rl c3Rfcm9sZScgPT4gewogCQlyZWdleHAgPT4gcXIvXgogCQkJXFFBTFRFUiBST0xFIHJlZ3Jlc3Nf ZHVtcF90ZXN0X3JvbGUgV0lUSCBcRQotCQkJXFFOT1NVUEVSVVNFUiBJTkhFUklUIE5PQ1JFQVRF Uk9MRSBOT0NSRUFURURCIE5PTE9HSU4gXEUKKwkJCVxRTk9TVVBFUlVTRVIgTk9DUkVBVEVST0xF IE5PQ1JFQVRFREIgTk9MT0dJTiBcRQogCQkJXFFOT1JFUExJQ0FUSU9OIE5PQllQQVNTUkxTO1xF CiAJCQkveG0sCiAJCWxpa2UgPT4gewpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJl LmMgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwppbmRleCBkMWFlNjk5MTcxLi43MzU1YjhjYmJm IDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYworKysgYi9zcmMvYmluL3BzcWwv ZGVzY3JpYmUuYwpAQCAtMzU4OSw3ICszNTg5LDcgQEAgZGVzY3JpYmVSb2xlcyhjb25zdCBjaGFy ICpwYXR0ZXJuLCBib29sIHZlcmJvc2UsIGJvb2wgc2hvd1N5c3RlbSkKIAlpbml0UFFFeHBCdWZm ZXIoJmJ1Zik7CiAKIAlwcmludGZQUUV4cEJ1ZmZlcigmYnVmLAotCQkJCQkgICJTRUxFQ1Qgci5y b2xuYW1lLCByLnJvbHN1cGVyLCByLnJvbGluaGVyaXQsXG4iCisJCQkJCSAgIlNFTEVDVCByLnJv bG5hbWUsIHIucm9sc3VwZXIsXG4iCiAJCQkJCSAgIiAgci5yb2xjcmVhdGVyb2xlLCByLnJvbGNy ZWF0ZWRiLCByLnJvbGNhbmxvZ2luLFxuIgogCQkJCQkgICIgIHIucm9sY29ubmxpbWl0LCByLnJv bHZhbGlkdW50aWwsXG4iCiAJCQkJCSAgIiAgQVJSQVkoU0VMRUNUIGIucm9sbmFtZVxuIgpAQCAt MzY0NiwyNiArMzY0NiwyMyBAQCBkZXNjcmliZVJvbGVzKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGJv b2wgdmVyYm9zZSwgYm9vbCBzaG93U3lzdGVtKQogCQlpZiAoc3RyY21wKFBRZ2V0dmFsdWUocmVz LCBpLCAxKSwgInQiKSA9PSAwKQogCQkJYWRkX3JvbGVfYXR0cmlidXRlKCZidWYsIF8oIlN1cGVy dXNlciIpKTsKIAotCQlpZiAoc3RyY21wKFBRZ2V0dmFsdWUocmVzLCBpLCAyKSwgInQiKSAhPSAw KQotCQkJYWRkX3JvbGVfYXR0cmlidXRlKCZidWYsIF8oIk5vIGluaGVyaXRhbmNlIikpOwotCi0J CWlmIChzdHJjbXAoUFFnZXR2YWx1ZShyZXMsIGksIDMpLCAidCIpID09IDApCisJCWlmIChzdHJj bXAoUFFnZXR2YWx1ZShyZXMsIGksIDIpLCAidCIpID09IDApCiAJCQlhZGRfcm9sZV9hdHRyaWJ1 dGUoJmJ1ZiwgXygiQ3JlYXRlIHJvbGUiKSk7CiAKLQkJaWYgKHN0cmNtcChQUWdldHZhbHVlKHJl cywgaSwgNCksICJ0IikgPT0gMCkKKwkJaWYgKHN0cmNtcChQUWdldHZhbHVlKHJlcywgaSwgMyks ICJ0IikgPT0gMCkKIAkJCWFkZF9yb2xlX2F0dHJpYnV0ZSgmYnVmLCBfKCJDcmVhdGUgREIiKSk7 CiAKLQkJaWYgKHN0cmNtcChQUWdldHZhbHVlKHJlcywgaSwgNSksICJ0IikgIT0gMCkKKwkJaWYg KHN0cmNtcChQUWdldHZhbHVlKHJlcywgaSwgNCksICJ0IikgIT0gMCkKIAkJCWFkZF9yb2xlX2F0 dHJpYnV0ZSgmYnVmLCBfKCJDYW5ub3QgbG9naW4iKSk7CiAKLQkJaWYgKHN0cmNtcChQUWdldHZh bHVlKHJlcywgaSwgKHZlcmJvc2UgPyAxMCA6IDkpKSwgInQiKSA9PSAwKQorCQlpZiAoc3RyY21w KFBRZ2V0dmFsdWUocmVzLCBpLCAodmVyYm9zZSA/IDkgOiA4KSksICJ0IikgPT0gMCkKIAkJCWFk ZF9yb2xlX2F0dHJpYnV0ZSgmYnVmLCBfKCJSZXBsaWNhdGlvbiIpKTsKIAogCQlpZiAocHNldC5z dmVyc2lvbiA+PSA5MDUwMCkKLQkJCWlmIChzdHJjbXAoUFFnZXR2YWx1ZShyZXMsIGksICh2ZXJi b3NlID8gMTEgOiAxMCkpLCAidCIpID09IDApCisJCQlpZiAoc3RyY21wKFBRZ2V0dmFsdWUocmVz LCBpLCAodmVyYm9zZSA/IDEwIDogOSkpLCAidCIpID09IDApCiAJCQkJYWRkX3JvbGVfYXR0cmli dXRlKCZidWYsIF8oIkJ5cGFzcyBSTFMiKSk7CiAKLQkJY29ubnMgPSBhdG9pKFBRZ2V0dmFsdWUo cmVzLCBpLCA2KSk7CisJCWNvbm5zID0gYXRvaShQUWdldHZhbHVlKHJlcywgaSwgNSkpOwogCQlp ZiAoY29ubnMgPj0gMCkKIAkJewogCQkJaWYgKGJ1Zi5sZW4gPiAwKQpAQCAtMzY4MCw3ICszNjc3 LDcgQEAgZGVzY3JpYmVSb2xlcyhjb25zdCBjaGFyICpwYXR0ZXJuLCBib29sIHZlcmJvc2UsIGJv b2wgc2hvd1N5c3RlbSkKIAkJCQkJCQkJICBjb25ucyk7CiAJCX0KIAotCQlpZiAoc3RyY21wKFBR Z2V0dmFsdWUocmVzLCBpLCA3KSwgIiIpICE9IDApCisJCWlmIChzdHJjbXAoUFFnZXR2YWx1ZShy ZXMsIGksIDYpLCAiIikgIT0gMCkKIAkJewogCQkJaWYgKGJ1Zi5sZW4gPiAwKQogCQkJCWFwcGVu ZFBRRXhwQnVmZmVyQ2hhcigmYnVmLCAnXG4nKTsKQEAgLTM2OTIsMTAgKzM2ODksMTAgQEAgZGVz Y3JpYmVSb2xlcyhjb25zdCBjaGFyICpwYXR0ZXJuLCBib29sIHZlcmJvc2UsIGJvb2wgc2hvd1N5 c3RlbSkKIAogCQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgYXR0cltpXSwgZmFsc2UsIGZhbHNl KTsKIAotCQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgUFFnZXR2YWx1ZShyZXMsIGksIDgpLCBm YWxzZSwgZmFsc2UpOworCQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgUFFnZXR2YWx1ZShyZXMs IGksIDcpLCBmYWxzZSwgZmFsc2UpOwogCiAJCWlmICh2ZXJib3NlKQotCQkJcHJpbnRUYWJsZUFk ZENlbGwoJmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBpLCA5KSwgZmFsc2UsIGZhbHNlKTsKKwkJCXBy aW50VGFibGVBZGRDZWxsKCZjb250LCBQUWdldHZhbHVlKHJlcywgaSwgOCksIGZhbHNlLCBmYWxz ZSk7CiAJfQogCXRlcm1QUUV4cEJ1ZmZlcigmYnVmKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19hdXRoX21lbWJlcnMuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYXV0 aF9tZW1iZXJzLmgKaW5kZXggMWJjMDI3ZjEzMy4uMWUxNDRhNzVhOCAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19hdXRoX21lbWJlcnMuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX2F1dGhfbWVtYmVycy5oCkBAIC0zMyw2ICszMyw3IEBAIENBVEFMT0cocGdfYXV0aF9t ZW1iZXJzLDEyNjEsQXV0aE1lbVJlbGF0aW9uSWQpIEJLSV9TSEFSRURfUkVMQVRJT04gQktJX1JP V1RZUEVfCiAJT2lkCQkJbWVtYmVyIEJLSV9MT09LVVAocGdfYXV0aGlkKTsJLyogSUQgb2YgYSBt ZW1iZXIgb2YgdGhhdCByb2xlICovCiAJT2lkCQkJZ3JhbnRvciBCS0lfTE9PS1VQKHBnX2F1dGhp ZCk7CS8qIHdobyBncmFudGVkIHRoZSBtZW1iZXJzaGlwICovCiAJYm9vbAkJYWRtaW5fb3B0aW9u OwkvKiBncmFudGVkIHdpdGggYWRtaW4gb3B0aW9uPyAqLworCWJvb2wJCWluaGVyaXRfb3B0aW9u OwkvKiBleGVyY2lzZSBwcml2aWxlZ2VzIHdpdGhvdXQgU0VUIFJPTEU/ICovCiB9IEZvcm1EYXRh X3BnX2F1dGhfbWVtYmVyczsKIAogLyogLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19hdXRoaWQuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19h dXRoaWQuZGF0CmluZGV4IDZjMjgxMTlmYTEuLmEwYjE1MjBlNzQgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfYXV0aGlkLmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X2F1dGhpZC5kYXQKQEAgLTIwLDY3ICsyMCw2NyBAQAogIyB3aWxsIHJlcGxhY2UgdGhhdCBhdCBk YXRhYmFzZSBpbml0aWFsaXphdGlvbiB0aW1lLgogCiB7IG9pZCA9PiAnMTAnLCBvaWRfc3ltYm9s ID0+ICdCT09UU1RSQVBfU1VQRVJVU0VSSUQnLAotICByb2xuYW1lID0+ICdQT1NUR1JFUycsIHJv bHN1cGVyID0+ICd0Jywgcm9saW5oZXJpdCA9PiAndCcsCisgIHJvbG5hbWUgPT4gJ1BPU1RHUkVT Jywgcm9sc3VwZXIgPT4gJ3QnLAogICByb2xjcmVhdGVyb2xlID0+ICd0Jywgcm9sY3JlYXRlZGIg PT4gJ3QnLCByb2xjYW5sb2dpbiA9PiAndCcsCiAgIHJvbHJlcGxpY2F0aW9uID0+ICd0Jywgcm9s YnlwYXNzcmxzID0+ICd0Jywgcm9sY29ubmxpbWl0ID0+ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ ICdfbnVsbF8nLCByb2x2YWxpZHVudGlsID0+ICdfbnVsbF8nIH0sCiB7IG9pZCA9PiAnNjE3MScs IG9pZF9zeW1ib2wgPT4gJ1JPTEVfUEdfREFUQUJBU0VfT1dORVInLAotICByb2xuYW1lID0+ICdw Z19kYXRhYmFzZV9vd25lcicsIHJvbHN1cGVyID0+ICdmJywgcm9saW5oZXJpdCA9PiAndCcsCisg IHJvbG5hbWUgPT4gJ3BnX2RhdGFiYXNlX293bmVyJywgcm9sc3VwZXIgPT4gJ2YnLAogICByb2xj cmVhdGVyb2xlID0+ICdmJywgcm9sY3JlYXRlZGIgPT4gJ2YnLCByb2xjYW5sb2dpbiA9PiAnZics CiAgIHJvbHJlcGxpY2F0aW9uID0+ICdmJywgcm9sYnlwYXNzcmxzID0+ICdmJywgcm9sY29ubmxp bWl0ID0+ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ICdfbnVsbF8nLCByb2x2YWxpZHVudGlsID0+ ICdfbnVsbF8nIH0sCiB7IG9pZCA9PiAnNjE4MScsIG9pZF9zeW1ib2wgPT4gJ1JPTEVfUEdfUkVB RF9BTExfREFUQScsCi0gIHJvbG5hbWUgPT4gJ3BnX3JlYWRfYWxsX2RhdGEnLCByb2xzdXBlciA9 PiAnZicsIHJvbGluaGVyaXQgPT4gJ3QnLAorICByb2xuYW1lID0+ICdwZ19yZWFkX2FsbF9kYXRh Jywgcm9sc3VwZXIgPT4gJ2YnLAogICByb2xjcmVhdGVyb2xlID0+ICdmJywgcm9sY3JlYXRlZGIg PT4gJ2YnLCByb2xjYW5sb2dpbiA9PiAnZicsCiAgIHJvbHJlcGxpY2F0aW9uID0+ICdmJywgcm9s YnlwYXNzcmxzID0+ICdmJywgcm9sY29ubmxpbWl0ID0+ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ ICdfbnVsbF8nLCByb2x2YWxpZHVudGlsID0+ICdfbnVsbF8nIH0sCiB7IG9pZCA9PiAnNjE4Mics IG9pZF9zeW1ib2wgPT4gJ1JPTEVfUEdfV1JJVEVfQUxMX0RBVEEnLAotICByb2xuYW1lID0+ICdw Z193cml0ZV9hbGxfZGF0YScsIHJvbHN1cGVyID0+ICdmJywgcm9saW5oZXJpdCA9PiAndCcsCisg IHJvbG5hbWUgPT4gJ3BnX3dyaXRlX2FsbF9kYXRhJywgcm9sc3VwZXIgPT4gJ2YnLAogICByb2xj cmVhdGVyb2xlID0+ICdmJywgcm9sY3JlYXRlZGIgPT4gJ2YnLCByb2xjYW5sb2dpbiA9PiAnZics CiAgIHJvbHJlcGxpY2F0aW9uID0+ICdmJywgcm9sYnlwYXNzcmxzID0+ICdmJywgcm9sY29ubmxp bWl0ID0+ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ICdfbnVsbF8nLCByb2x2YWxpZHVudGlsID0+ ICdfbnVsbF8nIH0sCiB7IG9pZCA9PiAnMzM3MycsIG9pZF9zeW1ib2wgPT4gJ1JPTEVfUEdfTU9O SVRPUicsCi0gIHJvbG5hbWUgPT4gJ3BnX21vbml0b3InLCByb2xzdXBlciA9PiAnZicsIHJvbGlu aGVyaXQgPT4gJ3QnLAorICByb2xuYW1lID0+ICdwZ19tb25pdG9yJywgcm9sc3VwZXIgPT4gJ2Yn LAogICByb2xjcmVhdGVyb2xlID0+ICdmJywgcm9sY3JlYXRlZGIgPT4gJ2YnLCByb2xjYW5sb2dp biA9PiAnZicsCiAgIHJvbHJlcGxpY2F0aW9uID0+ICdmJywgcm9sYnlwYXNzcmxzID0+ICdmJywg cm9sY29ubmxpbWl0ID0+ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ICdfbnVsbF8nLCByb2x2YWxp ZHVudGlsID0+ICdfbnVsbF8nIH0sCiB7IG9pZCA9PiAnMzM3NCcsIG9pZF9zeW1ib2wgPT4gJ1JP TEVfUEdfUkVBRF9BTExfU0VUVElOR1MnLAotICByb2xuYW1lID0+ICdwZ19yZWFkX2FsbF9zZXR0 aW5ncycsIHJvbHN1cGVyID0+ICdmJywgcm9saW5oZXJpdCA9PiAndCcsCisgIHJvbG5hbWUgPT4g J3BnX3JlYWRfYWxsX3NldHRpbmdzJywgcm9sc3VwZXIgPT4gJ2YnLAogICByb2xjcmVhdGVyb2xl ID0+ICdmJywgcm9sY3JlYXRlZGIgPT4gJ2YnLCByb2xjYW5sb2dpbiA9PiAnZicsCiAgIHJvbHJl cGxpY2F0aW9uID0+ICdmJywgcm9sYnlwYXNzcmxzID0+ICdmJywgcm9sY29ubmxpbWl0ID0+ICct MScsCiAgIHJvbHBhc3N3b3JkID0+ICdfbnVsbF8nLCByb2x2YWxpZHVudGlsID0+ICdfbnVsbF8n IH0sCiB7IG9pZCA9PiAnMzM3NScsIG9pZF9zeW1ib2wgPT4gJ1JPTEVfUEdfUkVBRF9BTExfU1RB VFMnLAotICByb2xuYW1lID0+ICdwZ19yZWFkX2FsbF9zdGF0cycsIHJvbHN1cGVyID0+ICdmJywg cm9saW5oZXJpdCA9PiAndCcsCisgIHJvbG5hbWUgPT4gJ3BnX3JlYWRfYWxsX3N0YXRzJywgcm9s c3VwZXIgPT4gJ2YnLAogICByb2xjcmVhdGVyb2xlID0+ICdmJywgcm9sY3JlYXRlZGIgPT4gJ2Yn LCByb2xjYW5sb2dpbiA9PiAnZicsCiAgIHJvbHJlcGxpY2F0aW9uID0+ICdmJywgcm9sYnlwYXNz cmxzID0+ICdmJywgcm9sY29ubmxpbWl0ID0+ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ICdfbnVs bF8nLCByb2x2YWxpZHVudGlsID0+ICdfbnVsbF8nIH0sCiB7IG9pZCA9PiAnMzM3NycsIG9pZF9z eW1ib2wgPT4gJ1JPTEVfUEdfU1RBVF9TQ0FOX1RBQkxFUycsCi0gIHJvbG5hbWUgPT4gJ3BnX3N0 YXRfc2Nhbl90YWJsZXMnLCByb2xzdXBlciA9PiAnZicsIHJvbGluaGVyaXQgPT4gJ3QnLAorICBy b2xuYW1lID0+ICdwZ19zdGF0X3NjYW5fdGFibGVzJywgcm9sc3VwZXIgPT4gJ2YnLAogICByb2xj cmVhdGVyb2xlID0+ICdmJywgcm9sY3JlYXRlZGIgPT4gJ2YnLCByb2xjYW5sb2dpbiA9PiAnZics CiAgIHJvbHJlcGxpY2F0aW9uID0+ICdmJywgcm9sYnlwYXNzcmxzID0+ICdmJywgcm9sY29ubmxp bWl0ID0+ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ICdfbnVsbF8nLCByb2x2YWxpZHVudGlsID0+ ICdfbnVsbF8nIH0sCiB7IG9pZCA9PiAnNDU2OScsIG9pZF9zeW1ib2wgPT4gJ1JPTEVfUEdfUkVB RF9TRVJWRVJfRklMRVMnLAotICByb2xuYW1lID0+ICdwZ19yZWFkX3NlcnZlcl9maWxlcycsIHJv bHN1cGVyID0+ICdmJywgcm9saW5oZXJpdCA9PiAndCcsCisgIHJvbG5hbWUgPT4gJ3BnX3JlYWRf c2VydmVyX2ZpbGVzJywgcm9sc3VwZXIgPT4gJ2YnLAogICByb2xjcmVhdGVyb2xlID0+ICdmJywg cm9sY3JlYXRlZGIgPT4gJ2YnLCByb2xjYW5sb2dpbiA9PiAnZicsCiAgIHJvbHJlcGxpY2F0aW9u ID0+ICdmJywgcm9sYnlwYXNzcmxzID0+ICdmJywgcm9sY29ubmxpbWl0ID0+ICctMScsCiAgIHJv bHBhc3N3b3JkID0+ICdfbnVsbF8nLCByb2x2YWxpZHVudGlsID0+ICdfbnVsbF8nIH0sCiB7IG9p ZCA9PiAnNDU3MCcsIG9pZF9zeW1ib2wgPT4gJ1JPTEVfUEdfV1JJVEVfU0VSVkVSX0ZJTEVTJywK LSAgcm9sbmFtZSA9PiAncGdfd3JpdGVfc2VydmVyX2ZpbGVzJywgcm9sc3VwZXIgPT4gJ2YnLCBy b2xpbmhlcml0ID0+ICd0JywKKyAgcm9sbmFtZSA9PiAncGdfd3JpdGVfc2VydmVyX2ZpbGVzJywg cm9sc3VwZXIgPT4gJ2YnLAogICByb2xjcmVhdGVyb2xlID0+ICdmJywgcm9sY3JlYXRlZGIgPT4g J2YnLCByb2xjYW5sb2dpbiA9PiAnZicsCiAgIHJvbHJlcGxpY2F0aW9uID0+ICdmJywgcm9sYnlw YXNzcmxzID0+ICdmJywgcm9sY29ubmxpbWl0ID0+ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ICdf bnVsbF8nLCByb2x2YWxpZHVudGlsID0+ICdfbnVsbF8nIH0sCiB7IG9pZCA9PiAnNDU3MScsIG9p ZF9zeW1ib2wgPT4gJ1JPTEVfUEdfRVhFQ1VURV9TRVJWRVJfUFJPR1JBTScsCi0gIHJvbG5hbWUg PT4gJ3BnX2V4ZWN1dGVfc2VydmVyX3Byb2dyYW0nLCByb2xzdXBlciA9PiAnZicsIHJvbGluaGVy aXQgPT4gJ3QnLAorICByb2xuYW1lID0+ICdwZ19leGVjdXRlX3NlcnZlcl9wcm9ncmFtJywgcm9s c3VwZXIgPT4gJ2YnLAogICByb2xjcmVhdGVyb2xlID0+ICdmJywgcm9sY3JlYXRlZGIgPT4gJ2Yn LCByb2xjYW5sb2dpbiA9PiAnZicsCiAgIHJvbHJlcGxpY2F0aW9uID0+ICdmJywgcm9sYnlwYXNz cmxzID0+ICdmJywgcm9sY29ubmxpbWl0ID0+ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ICdfbnVs bF8nLCByb2x2YWxpZHVudGlsID0+ICdfbnVsbF8nIH0sCiB7IG9pZCA9PiAnNDIwMCcsIG9pZF9z eW1ib2wgPT4gJ1JPTEVfUEdfU0lHTkFMX0JBQ0tFTkQnLAotICByb2xuYW1lID0+ICdwZ19zaWdu YWxfYmFja2VuZCcsIHJvbHN1cGVyID0+ICdmJywgcm9saW5oZXJpdCA9PiAndCcsCisgIHJvbG5h bWUgPT4gJ3BnX3NpZ25hbF9iYWNrZW5kJywgcm9sc3VwZXIgPT4gJ2YnLAogICByb2xjcmVhdGVy b2xlID0+ICdmJywgcm9sY3JlYXRlZGIgPT4gJ2YnLCByb2xjYW5sb2dpbiA9PiAnZicsCiAgIHJv bHJlcGxpY2F0aW9uID0+ICdmJywgcm9sYnlwYXNzcmxzID0+ICdmJywgcm9sY29ubmxpbWl0ID0+ ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ICdfbnVsbF8nLCByb2x2YWxpZHVudGlsID0+ICdfbnVs bF8nIH0sCiB7IG9pZCA9PiAnNDU0NCcsIG9pZF9zeW1ib2wgPT4gJ1JPTEVfUEdfQ0hFQ0tQT0lO VEVSJywKLSAgcm9sbmFtZSA9PiAncGdfY2hlY2twb2ludGVyJywgcm9sc3VwZXIgPT4gJ2YnLCBy b2xpbmhlcml0ID0+ICd0JywKKyAgcm9sbmFtZSA9PiAncGdfY2hlY2twb2ludGVyJywgcm9sc3Vw ZXIgPT4gJ2YnLAogICByb2xjcmVhdGVyb2xlID0+ICdmJywgcm9sY3JlYXRlZGIgPT4gJ2YnLCBy b2xjYW5sb2dpbiA9PiAnZicsCiAgIHJvbHJlcGxpY2F0aW9uID0+ICdmJywgcm9sYnlwYXNzcmxz ID0+ICdmJywgcm9sY29ubmxpbWl0ID0+ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ICdfbnVsbF8n LCByb2x2YWxpZHVudGlsID0+ICdfbnVsbF8nIH0sCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX2F1dGhpZC5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hdXRoaWQuaAppbmRl eCAzNTEyNjAxYzgwLi4yN2UxZjcyODQ0IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX2F1dGhpZC5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYXV0aGlkLmgKQEAgLTMz LDcgKzMzLDYgQEAgQ0FUQUxPRyhwZ19hdXRoaWQsMTI2MCxBdXRoSWRSZWxhdGlvbklkKSBCS0lf U0hBUkVEX1JFTEFUSU9OIEJLSV9ST1dUWVBFX09JRCgyODQKIAlPaWQJCQlvaWQ7CQkJLyogb2lk ICovCiAJTmFtZURhdGEJcm9sbmFtZTsJCS8qIG5hbWUgb2Ygcm9sZSAqLwogCWJvb2wJCXJvbHN1 cGVyOwkJLyogcmVhZCB0aGlzIGZpZWxkIHZpYSBzdXBlcnVzZXIoKSBvbmx5ISAqLwotCWJvb2wJ CXJvbGluaGVyaXQ7CQkvKiBpbmhlcml0IHByaXZpbGVnZXMgZnJvbSBvdGhlciByb2xlcz8gKi8K IAlib29sCQlyb2xjcmVhdGVyb2xlOwkvKiBhbGxvd2VkIHRvIGNyZWF0ZSBtb3JlIHJvbGVzPyAq LwogCWJvb2wJCXJvbGNyZWF0ZWRiOwkvKiBhbGxvd2VkIHRvIGNyZWF0ZSBkYXRhYmFzZXM/ICov CiAJYm9vbAkJcm9sY2FubG9naW47CS8qIGFsbG93ZWQgdG8gbG9nIGluIGFzIHNlc3Npb24gdXNl cj8gKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9p bmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCA3M2Y2MzViNDU1Li4zYTFkMjFkOWZmIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIvc3JjL2luY2x1 ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCkBAIC0yNDM5LDcgKzI0MzksNyBAQCB0eXBlZGVmIHN0cnVj dCBHcmFudFJvbGVTdG10CiAJTGlzdAkgICAqZ3JhbnRlZF9yb2xlczsJLyogbGlzdCBvZiByb2xl cyB0byBiZSBncmFudGVkL3Jldm9rZWQgKi8KIAlMaXN0CSAgICpncmFudGVlX3JvbGVzOwkvKiBs aXN0IG9mIG1lbWJlciByb2xlcyB0byBhZGQvZGVsZXRlICovCiAJYm9vbAkJaXNfZ3JhbnQ7CQkv KiB0cnVlID0gR1JBTlQsIGZhbHNlID0gUkVWT0tFICovCi0JYm9vbAkJYWRtaW5fb3B0OwkJLyog d2l0aCBhZG1pbiBvcHRpb24gKi8KKwlMaXN0CSAgICpvcHQ7CQkJLyogb3B0aW9ucyBlLmcuIFdJ VEggR1JBTlQgT1BUSU9OICovCiAJUm9sZVNwZWMgICAqZ3JhbnRvcjsJCS8qIHNldCBncmFudG9y IHRvIG90aGVyIHRoYW4gY3VycmVudCByb2xlICovCiAJRHJvcEJlaGF2aW9yIGJlaGF2aW9yOwkJ LyogZHJvcCBiZWhhdmlvciAoZm9yIFJFVk9LRSkgKi8KIH0gR3JhbnRSb2xlU3RtdDsKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3JvbGUub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfcm9sZS5vdXQKaW5kZXggNGU2N2Q3Mjc2MC4uY2Mz YWJkYzEwZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfcm9s ZS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfcm9sZS5vdXQKQEAg LTE2LDYgKzE2LDggQEAgQ1JFQVRFIFJPTEUgcmVncmVzc19jcmVhdGVkYiBDUkVBVEVEQjsKIENS RUFURSBST0xFIHJlZ3Jlc3NfY3JlYXRlcm9sZSBDUkVBVEVST0xFOwogQ1JFQVRFIFJPTEUgcmVn cmVzc19sb2dpbiBMT0dJTjsKIENSRUFURSBST0xFIHJlZ3Jlc3NfaW5oZXJpdCBJTkhFUklUOwor V0FSTklORzogIHJvbGUgb3B0aW9ucyBJTkhFUklUIGFuZCBOT0lOSEVSSVQgYXJlIGRlcHJlY2F0 ZWQKK0hJTlQ6ICBncmFudCByb2xlIG1lbWJlcnNoaXAgV0lUSCBJTkhFUklUIFRSVUUgb3IgV0lU SCBJTkhFUklUIEZBTFNFIGluc3RlYWQKIENSRUFURSBST0xFIHJlZ3Jlc3NfY29ubmVjdGlvbl9s aW1pdCBDT05ORUNUSU9OIExJTUlUIDU7CiBDUkVBVEUgUk9MRSByZWdyZXNzX2VuY3J5cHRlZF9w YXNzd29yZCBFTkNSWVBURUQgUEFTU1dPUkQgJ2Zvbyc7CiBDUkVBVEUgUk9MRSByZWdyZXNzX3Bh c3N3b3JkX251bGwgUEFTU1dPUkQgTlVMTDsKQEAgLTUyLDYgKzU0LDggQEAgQ1JFQVRFIFJPTEUg cmVncmVzc19wbGFpbnJvbGU7CiBDUkVBVEUgUk9MRSByZWdyZXNzX3JvbGVjcmVhdG9yIENSRUFU RVJPTEU7CiAtLSBvaywgcm9sZXMgd2l0aCBDUkVBVEVST0xFIGNhbiBjcmVhdGUgbmV3IHJvbGVz IHdpdGggcHJpdmlsZWdlIHRoZXkgbGFjawogQ1JFQVRFIFJPTEUgcmVncmVzc190ZW5hbnQgQ1JF QVRFREIgQ1JFQVRFUk9MRSBMT0dJTiBJTkhFUklUIENPTk5FQ1RJT04gTElNSVQgNTsKK1dBUk5J Tkc6ICByb2xlIG9wdGlvbnMgSU5IRVJJVCBhbmQgTk9JTkhFUklUIGFyZSBkZXByZWNhdGVkCitI SU5UOiAgZ3JhbnQgcm9sZSBtZW1iZXJzaGlwIFdJVEggSU5IRVJJVCBUUlVFIG9yIFdJVEggSU5I RVJJVCBGQUxTRSBpbnN0ZWFkCiAtLSBvaywgcmVncmVzc190ZW5hbnQgY2FuIGNyZWF0ZSBvYmpl Y3RzIHdpdGhpbiB0aGUgZGF0YWJhc2UKIFNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVz c190ZW5hbnQ7CiBDUkVBVEUgVEFCTEUgdGVuYW50X3RhYmxlIChpIGludGVnZXIpOwpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQKaW5kZXggMDNkZjU2N2Q1MC4uYTdlMDJl MWIwMiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91 dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZpbGVnZXMub3V0CkBAIC00MjAs NyArNDIwLDcgQEAgRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgdGFibGUgYXRlc3QzCiBE RUxFVEUgRlJPTSBhdGVzdDM7IC0tIG9rCiBCRUdJTjsKIFJFU0VUIFNFU1NJT04gQVVUSE9SSVpB VElPTjsKLUFMVEVSIFJPTEUgcmVncmVzc19wcml2X3VzZXIxIE5PSU5IRVJJVDsKK0dSQU5UIHJl Z3Jlc3NfcHJpdl9ncm91cDIgVE8gcmVncmVzc19wcml2X3VzZXIxIFdJVEggSU5IRVJJVCBGQUxT RTsKIFNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOwogREVMRVRF IEZST00gYXRlc3QzOwogRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgdGFibGUgYXRlc3Qz CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JvbGVhdHRyaWJ1dGVzLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcm9sZWF0dHJpYnV0ZXMub3V0CmluZGV4IDVl Njk2OWIxNzMuLjM0NWJiMzMyODYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcm9sZWF0dHJpYnV0ZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcm9s ZWF0dHJpYnV0ZXMub3V0CkBAIC0xLDI0MCArMSwyMTMgQEAKIC0tIGRlZmF1bHQgZm9yIHN1cGVy dXNlciBpcyBmYWxzZQogQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X2RlZl9zdXBlcnVzZXI7Ci1T RUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNy ZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29u bmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSBy b2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9kZWZfc3VwZXJ1c2VyJzsKLSAgICAgICAgICByb2xuYW1l ICAgICAgICAgICB8IHJvbHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xj cmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCBy b2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf dGVzdF9kZWZfc3VwZXJ1c2VyIHwgZiAgICAgICAgfCB0ICAgICAgICAgIHwgZiAgICAgICAgICAg ICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICB8ICAgICAgICAgICAtMSB8ICAgICAgICAgICAgIHwgCitTRUxFQ1Qgcm9sbmFtZSwgcm9s c3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGlj YXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1 bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9kZWZfc3Vw ZXJ1c2VyJzsKKyAgICAgICAgICByb2xuYW1lICAgICAgICAgICB8IHJvbHN1cGVyIHwgcm9sY3Jl YXRlcm9sZSB8IHJvbGNyZWF0ZWRiIHwgcm9sY2FubG9naW4gfCByb2xyZXBsaWNhdGlvbiB8IHJv bGJ5cGFzc3JscyB8IHJvbGNvbm5saW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFsaWR1bnRpbCAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNz X3Rlc3RfZGVmX3N1cGVydXNlciB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg ICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAg ICAgICAtMSB8ICAgICAgICAgICAgIHwgCiAoMSByb3cpCiAKIENSRUFURSBST0xFIHJlZ3Jlc3Nf dGVzdF9zdXBlcnVzZXIgV0lUSCBTVVBFUlVTRVI7Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIs IHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9s cmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9s dmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9z dXBlcnVzZXInOwotICAgICAgICByb2xuYW1lICAgICAgICAgfCByb2xzdXBlciB8IHJvbGluaGVy aXQgfCByb2xjcmVhdGVyb2xlIHwgcm9sY3JlYXRlZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxp Y2F0aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9sY29ubmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2 YWxpZHVudGlsIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdF9zdXBlcnVzZXIgfCB0ICAgICAgICB8IHQgICAgICAg ICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgIHwgICAgICAgICAgIC0xIHwgICAgICAgICAgICAgfCAKK1NF TEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNh bmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBh c3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVn cmVzc190ZXN0X3N1cGVydXNlcic7CisgICAgICAgIHJvbG5hbWUgICAgICAgICB8IHJvbHN1cGVy IHwgcm9sY3JlYXRlcm9sZSB8IHJvbGNyZWF0ZWRiIHwgcm9sY2FubG9naW4gfCByb2xyZXBsaWNh dGlvbiB8IHJvbGJ5cGFzc3JscyB8IHJvbGNvbm5saW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFs aWR1bnRpbCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHJl Z3Jlc3NfdGVzdF9zdXBlcnVzZXIgfCB0ICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAg ICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgfCAgICAg ICAgICAgLTEgfCAgICAgICAgICAgICB8IAogKDEgcm93KQogCiBBTFRFUiBST0xFIHJlZ3Jlc3Nf dGVzdF9zdXBlcnVzZXIgV0lUSCBOT1NVUEVSVVNFUjsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBl ciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCBy b2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCBy b2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0 X3N1cGVydXNlcic7Ci0gICAgICAgIHJvbG5hbWUgICAgICAgICB8IHJvbHN1cGVyIHwgcm9saW5o ZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVw bGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJv bHZhbGlkdW50aWwgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0X3N1cGVydXNlciB8IGYgICAgICAgIHwgdCAgICAg ICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAor U0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9s Y2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9s cGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdy ZWdyZXNzX3Rlc3Rfc3VwZXJ1c2VyJzsKKyAgICAgICAgcm9sbmFtZSAgICAgICAgIHwgcm9sc3Vw ZXIgfCByb2xjcmVhdGVyb2xlIHwgcm9sY3JlYXRlZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxp Y2F0aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9sY29ubmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2 YWxpZHVudGlsIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisg cmVncmVzc190ZXN0X3N1cGVydXNlciB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAg ICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAg ICAgICAgICAtMSB8ICAgICAgICAgICAgIHwgCiAoMSByb3cpCiAKIEFMVEVSIFJPTEUgcmVncmVz c190ZXN0X3N1cGVydXNlciBXSVRIIFNVUEVSVVNFUjsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBl ciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCBy b2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCBy b2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0 X3N1cGVydXNlcic7Ci0gICAgICAgIHJvbG5hbWUgICAgICAgICB8IHJvbHN1cGVyIHwgcm9saW5o ZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVw bGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJv bHZhbGlkdW50aWwgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0X3N1cGVydXNlciB8IHQgICAgICAgIHwgdCAgICAg ICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAot KDEgcm93KQotCi0tLSBkZWZhdWx0IGZvciBpbmhlcml0IGlzIHRydWUKLUNSRUFURSBST0xFIHJl Z3Jlc3NfdGVzdF9kZWZfaW5oZXJpdDsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5o ZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNh dGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVu dGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2RlZl9pbmhl cml0JzsKLSAgICAgICAgIHJvbG5hbWUgICAgICAgICAgfCByb2xzdXBlciB8IHJvbGluaGVyaXQg fCByb2xjcmVhdGVyb2xlIHwgcm9sY3JlYXRlZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0 aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9sY29ubmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2YWxp ZHVudGlsIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tCi0gcmVncmVzc190ZXN0X2RlZl9pbmhlcml0IHwgZiAgICAgICAgfCB0ICAgICAg ICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAg ICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAgICAgICAgICAgIHwgCi0o MSByb3cpCi0KLUNSRUFURSBST0xFIHJlZ3Jlc3NfdGVzdF9pbmhlcml0IFdJVEggTk9JTkhFUklU OwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVhdGVyb2xlLCBy b2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJv bGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hF UkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfaW5oZXJpdCc7Ci0gICAgICAgcm9sbmFtZSAgICAg ICAgfCByb2xzdXBlciB8IHJvbGluaGVyaXQgfCByb2xjcmVhdGVyb2xlIHwgcm9sY3JlYXRlZGIg fCByb2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9sY29ubmxp bWl0IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RfaW5oZXJpdCB8 IGYgICAgICAgIHwgZiAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYg ICAgICAgICAgIHwgZiAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgfCAgICAgICAgICAgLTEg fCAgICAgICAgICAgICB8IAotKDEgcm93KQotCi1BTFRFUiBST0xFIHJlZ3Jlc3NfdGVzdF9pbmhl cml0IFdJVEggSU5IRVJJVDsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwg cm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwg cm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZS T00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2luaGVyaXQnOwotICAg ICAgIHJvbG5hbWUgICAgICAgIHwgcm9sc3VwZXIgfCByb2xpbmhlcml0IHwgcm9sY3JlYXRlcm9s ZSB8IHJvbGNyZWF0ZWRiIHwgcm9sY2FubG9naW4gfCByb2xyZXBsaWNhdGlvbiB8IHJvbGJ5cGFz c3JscyB8IHJvbGNvbm5saW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFsaWR1bnRpbCAKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVz c190ZXN0X2luaGVyaXQgfCBmICAgICAgICB8IHQgICAgICAgICAgfCBmICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg IHwgICAgICAgICAgIC0xIHwgICAgICAgICAgICAgfCAKLSgxIHJvdykKLQotQUxURVIgUk9MRSBy ZWdyZXNzX3Rlc3RfaW5oZXJpdCBXSVRIIE5PSU5IRVJJVDsKLVNFTEVDVCByb2xuYW1lLCByb2xz dXBlciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2lu LCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3Jk LCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190 ZXN0X2luaGVyaXQnOwotICAgICAgIHJvbG5hbWUgICAgICAgIHwgcm9sc3VwZXIgfCByb2xpbmhl cml0IHwgcm9sY3JlYXRlcm9sZSB8IHJvbGNyZWF0ZWRiIHwgcm9sY2FubG9naW4gfCByb2xyZXBs aWNhdGlvbiB8IHJvbGJ5cGFzc3JscyB8IHJvbGNvbm5saW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9s dmFsaWR1bnRpbCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tCi0gcmVncmVzc190ZXN0X2luaGVyaXQgfCBmICAgICAgICB8IGYgICAgICAgICAg fCBmICAgICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgIHwgICAgICAgICAgIC0xIHwgICAgICAgICAgICAgfCAKK1NFTEVD VCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxv Z2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3 b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVz c190ZXN0X3N1cGVydXNlcic7CisgICAgICAgIHJvbG5hbWUgICAgICAgICB8IHJvbHN1cGVyIHwg cm9sY3JlYXRlcm9sZSB8IHJvbGNyZWF0ZWRiIHwgcm9sY2FubG9naW4gfCByb2xyZXBsaWNhdGlv biB8IHJvbGJ5cGFzc3JscyB8IHJvbGNvbm5saW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFsaWR1 bnRpbCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jl c3NfdGVzdF9zdXBlcnVzZXIgfCB0ICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICAg ICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgfCAgICAgICAg ICAgLTEgfCAgICAgICAgICAgICB8IAogKDEgcm93KQogCiAtLSBkZWZhdWx0IGZvciBjcmVhdGUg cm9sZSBpcyBmYWxzZQogQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X2RlZl9jcmVhdGVyb2xlOwot U0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVhdGVyb2xlLCByb2xj cmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNv bm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUg cm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfZGVmX2NyZWF0ZXJvbGUnOwotICAgICAgICAgICByb2xu YW1lICAgICAgICAgICB8IHJvbHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCBy b2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMg fCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KLSByZWdy ZXNzX3Rlc3RfZGVmX2NyZWF0ZXJvbGUgfCBmICAgICAgICB8IHQgICAgICAgICAgfCBmICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgIHwgICAgICAgICAgIC0xIHwgICAgICAgICAgICAgfCAKK1NFTEVDVCByb2xuYW1l LCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xy ZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2 YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2Rl Zl9jcmVhdGVyb2xlJzsKKyAgICAgICAgICAgcm9sbmFtZSAgICAgICAgICAgfCByb2xzdXBlciB8 IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRp b24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlk dW50aWwgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQor IHJlZ3Jlc3NfdGVzdF9kZWZfY3JlYXRlcm9sZSB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8 IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICB8ICAgICAgICAgICAtMSB8ICAgICAgICAgICAgIHwgCiAoMSByb3cpCiAKIENSRUFURSBST0xF IHJlZ3Jlc3NfdGVzdF9jcmVhdGVyb2xlIFdJVEggQ1JFQVRFUk9MRTsKLVNFTEVDVCByb2xuYW1l LCByb2xzdXBlciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNh bmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBh c3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVn cmVzc190ZXN0X2NyZWF0ZXJvbGUnOwotICAgICAgICAgcm9sbmFtZSAgICAgICAgIHwgcm9sc3Vw ZXIgfCByb2xpbmhlcml0IHwgcm9sY3JlYXRlcm9sZSB8IHJvbGNyZWF0ZWRiIHwgcm9sY2FubG9n aW4gfCByb2xyZXBsaWNhdGlvbiB8IHJvbGJ5cGFzc3JscyB8IHJvbGNvbm5saW1pdCB8IHJvbHBh c3N3b3JkIHwgcm9sdmFsaWR1bnRpbCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0X2NyZWF0ZXJvbGUgfCBmICAg ICAgICB8IHQgICAgICAgICAgfCB0ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAg ICAgICB8IGYgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgIHwgICAgICAgICAgIC0xIHwgICAg ICAgICAgICAgfCAKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9s Y3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xj b25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJF IHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2NyZWF0ZXJvbGUnOworICAgICAgICAgcm9sbmFtZSAg ICAgICAgIHwgcm9sc3VwZXIgfCByb2xjcmVhdGVyb2xlIHwgcm9sY3JlYXRlZGIgfCByb2xjYW5s b2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9sY29ubmxpbWl0IHwgcm9s cGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdF9jcmVhdGVyb2xlIHwgZiAgICAgICAgfCB0ICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgIHwgICAgICAgICAgIC0xIHwgICAgICAgICAgICAgfCAKICgxIHJvdykKIAog QUxURVIgUk9MRSByZWdyZXNzX3Rlc3RfY3JlYXRlcm9sZSBXSVRIIE5PQ1JFQVRFUk9MRTsKLVNF TEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3Jl YXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25u bGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJv bG5hbWUgPSAncmVncmVzc190ZXN0X2NyZWF0ZXJvbGUnOwotICAgICAgICAgcm9sbmFtZSAgICAg ICAgIHwgcm9sc3VwZXIgfCByb2xpbmhlcml0IHwgcm9sY3JlYXRlcm9sZSB8IHJvbGNyZWF0ZWRi IHwgcm9sY2FubG9naW4gfCByb2xyZXBsaWNhdGlvbiB8IHJvbGJ5cGFzc3JscyB8IHJvbGNvbm5s aW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFsaWR1bnRpbCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0X2NyZWF0 ZXJvbGUgfCBmICAgICAgICB8IHQgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgIHwgICAgICAg ICAgIC0xIHwgICAgICAgICAgICAgfCAKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3Jl YXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlw YXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdf YXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2NyZWF0ZXJvbGUnOworICAgICAg ICAgcm9sbmFtZSAgICAgICAgIHwgcm9sc3VwZXIgfCByb2xjcmVhdGVyb2xlIHwgcm9sY3JlYXRl ZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9sY29u bmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdF9jcmVhdGVyb2xlIHwgZiAg ICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgIHwgICAgICAgICAgIC0xIHwgICAgICAgICAgICAgfCAK ICgxIHJvdykKIAogQUxURVIgUk9MRSByZWdyZXNzX3Rlc3RfY3JlYXRlcm9sZSBXSVRIIENSRUFU RVJPTEU7Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJv bGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Js cywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhp ZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9jcmVhdGVyb2xlJzsKLSAgICAgICAgIHJv bG5hbWUgICAgICAgICB8IHJvbHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCBy b2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMg fCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf dGVzdF9jcmVhdGVyb2xlIHwgZiAgICAgICAgfCB0ICAgICAgICAgIHwgdCAgICAgICAgICAgICB8 IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICB8ICAgICAgICAgICAtMSB8ICAgICAgICAgICAgIHwgCitTRUxFQ1Qgcm9sbmFtZSwgcm9sc3Vw ZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRp b24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRp bCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9jcmVhdGVyb2xl JzsKKyAgICAgICAgIHJvbG5hbWUgICAgICAgICB8IHJvbHN1cGVyIHwgcm9sY3JlYXRlcm9sZSB8 IHJvbGNyZWF0ZWRiIHwgcm9sY2FubG9naW4gfCByb2xyZXBsaWNhdGlvbiB8IHJvbGJ5cGFzc3Js cyB8IHJvbGNvbm5saW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFsaWR1bnRpbCAKKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RfY3JlYXRl cm9sZSB8IGYgICAgICAgIHwgdCAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAg ICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAgICAg ICAgICAgIHwgCiAoMSByb3cpCiAKIC0tIGRlZmF1bHQgZm9yIGNyZWF0ZSBkYXRhYmFzZSBpcyBm YWxzZQogQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X2RlZl9jcmVhdGVkYjsKLVNFTEVDVCByb2xu YW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJv bGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJv bHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAn cmVncmVzc190ZXN0X2RlZl9jcmVhdGVkYic7Ci0gICAgICAgICAgcm9sbmFtZSAgICAgICAgICB8 IHJvbHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJv bGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQg fCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0X2RlZl9jcmVh dGVkYiB8IGYgICAgICAgIHwgdCAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICAg ICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgfCAgICAgICAg ICAgLTEgfCAgICAgICAgICAgICB8IAorU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xjcmVh dGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBh c3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19h dXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfZGVmX2NyZWF0ZWRiJzsKKyAgICAg ICAgICByb2xuYW1lICAgICAgICAgIHwgcm9sc3VwZXIgfCByb2xjcmVhdGVyb2xlIHwgcm9sY3Jl YXRlZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9s Y29ubmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0X2RlZl9jcmVhdGVk YiB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAg fCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAgICAgICAg ICAgIHwgCiAoMSByb3cpCiAKIENSRUFURSBST0xFIHJlZ3Jlc3NfdGVzdF9jcmVhdGVkYiBXSVRI IENSRUFURURCOwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVh dGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBh c3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19h dXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfY3JlYXRlZGInOwotICAgICAgICBy b2xuYW1lICAgICAgICB8IHJvbHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCBy b2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMg fCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rl c3RfY3JlYXRlZGIgfCBmICAgICAgICB8IHQgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgdCAg ICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgIHwg ICAgICAgICAgIC0xIHwgICAgICAgICAgICAgfCAKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBlciwg cm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwg cm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZS T00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2NyZWF0ZWRiJzsKKyAg ICAgICAgcm9sbmFtZSAgICAgICAgfCByb2xzdXBlciB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVh dGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xj b25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdF9jcmVhdGVkYiB8IGYgICAg ICAgIHwgZiAgICAgICAgICAgICB8IHQgICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAg ICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAgICAgICAgICAgIHwgCiAo MSByb3cpCiAKIEFMVEVSIFJPTEUgcmVncmVzc190ZXN0X2NyZWF0ZWRiIFdJVEggTk9DUkVBVEVE QjsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwg cm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCBy b2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdI RVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2NyZWF0ZWRiJzsKLSAgICAgICAgcm9sbmFtZSAg ICAgICAgfCByb2xzdXBlciB8IHJvbGluaGVyaXQgfCByb2xjcmVhdGVyb2xlIHwgcm9sY3JlYXRl ZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9sY29u bmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0X2NyZWF0 ZWRiIHwgZiAgICAgICAgfCB0ICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAg IHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAg ICAtMSB8ICAgICAgICAgICAgIHwgCitTRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0 ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFz c3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1 dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9jcmVhdGVkYic7CisgICAgICAgIHJv bG5hbWUgICAgICAgIHwgcm9sc3VwZXIgfCByb2xjcmVhdGVyb2xlIHwgcm9sY3JlYXRlZGIgfCBy b2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9sY29ubmxpbWl0 IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RfY3JlYXRlZGIgfCBmICAgICAgICB8IGYg ICAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAogKDEgcm93KQog CiBBTFRFUiBST0xFIHJlZ3Jlc3NfdGVzdF9jcmVhdGVkYiBXSVRIIENSRUFURURCOwotU0VMRUNU IHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVk Yiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1p dCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFt ZSA9ICdyZWdyZXNzX3Rlc3RfY3JlYXRlZGInOwotICAgICAgICByb2xuYW1lICAgICAgICB8IHJv bHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNh bmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCBy b2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RfY3JlYXRlZGIgfCBmICAg ICAgICB8IHQgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgdCAgICAgICAgICAgfCBmICAgICAg ICAgICB8IGYgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgIHwgICAgICAgICAgIC0xIHwgICAg ICAgICAgICAgfCAKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9s Y3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xj b25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJF IHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2NyZWF0ZWRiJzsKKyAgICAgICAgcm9sbmFtZSAgICAg ICAgfCByb2xzdXBlciB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2lu IHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNz d29yZCB8IHJvbHZhbGlkdW50aWwgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLQorIHJlZ3Jlc3NfdGVzdF9jcmVhdGVkYiB8IGYgICAgICAgIHwgZiAgICAgICAgICAg ICB8IHQgICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICB8ICAgICAgICAgICAtMSB8ICAgICAgICAgICAgIHwgCiAoMSByb3cpCiAKIC0tIGRlZmF1 bHQgZm9yIGNhbiBsb2dpbiBpcyBmYWxzZSBmb3Igcm9sZQogQ1JFQVRFIFJPTEUgcmVncmVzc190 ZXN0X2RlZl9yb2xlX2NhbmxvZ2luOwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhl cml0LCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0 aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50 aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfZGVmX3JvbGVf Y2FubG9naW4nOwotICAgICAgICAgICAgcm9sbmFtZSAgICAgICAgICAgICB8IHJvbHN1cGVyIHwg cm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwg cm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29y ZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RfZGVmX3JvbGVfY2FubG9n aW4gfCBmICAgICAgICB8IHQgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgICAg fCBmICAgICAgICAgICB8IGYgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgIHwgICAgICAgICAg IC0xIHwgICAgICAgICAgICAgfCAKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRl cm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNz cmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0 aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2RlZl9yb2xlX2NhbmxvZ2luJzsKKyAg ICAgICAgICAgIHJvbG5hbWUgICAgICAgICAgICAgfCByb2xzdXBlciB8IHJvbGNyZWF0ZXJvbGUg fCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3Ny bHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVz dF9kZWZfcm9sZV9jYW5sb2dpbiB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg ICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAg ICAgICAtMSB8ICAgICAgICAgICAgIHwgCiAoMSByb3cpCiAKIENSRUFURSBST0xFIHJlZ3Jlc3Nf dGVzdF9yb2xlX2NhbmxvZ2luIFdJVEggTE9HSU47Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIs IHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9s cmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9s dmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9y b2xlX2NhbmxvZ2luJzsKLSAgICAgICAgICByb2xuYW1lICAgICAgICAgICB8IHJvbHN1cGVyIHwg cm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwg cm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29y ZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdF9yb2xlX2NhbmxvZ2luIHwgZiAg ICAgICAgfCB0ICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgdCAgICAg ICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAg ICAgICAgICAgIHwgCitTRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJv bGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9s Y29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVS RSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9yb2xlX2NhbmxvZ2luJzsKKyAgICAgICAgICByb2xu YW1lICAgICAgICAgICB8IHJvbHN1cGVyIHwgcm9sY3JlYXRlcm9sZSB8IHJvbGNyZWF0ZWRiIHwg cm9sY2FubG9naW4gfCByb2xyZXBsaWNhdGlvbiB8IHJvbGJ5cGFzc3JscyB8IHJvbGNvbm5saW1p dCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFsaWR1bnRpbCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3Rfcm9sZV9jYW5sb2dpbiB8IGYg ICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgdCAgICAgICAgICAgfCBmICAg ICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAgICAgICAgICAgIHwg CiAoMSByb3cpCiAKIEFMVEVSIFJPTEUgcmVncmVzc190ZXN0X3JvbGVfY2FubG9naW4gV0lUSCBO T0xPR0lOOwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVhdGVy b2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3Ny bHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRo aWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3Rfcm9sZV9jYW5sb2dpbic7Ci0gICAgICAg ICAgcm9sbmFtZSAgICAgICAgICAgfCByb2xzdXBlciB8IHJvbGluaGVyaXQgfCByb2xjcmVhdGVy b2xlIHwgcm9sY3JlYXRlZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlw YXNzcmxzIHwgcm9sY29ubmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0K LSByZWdyZXNzX3Rlc3Rfcm9sZV9jYW5sb2dpbiB8IGYgICAgICAgIHwgdCAgICAgICAgICB8IGYg ICAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAorU0VMRUNUIHJv bG5hbWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4s IHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQs IHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rl c3Rfcm9sZV9jYW5sb2dpbic7CisgICAgICAgICAgcm9sbmFtZSAgICAgICAgICAgfCByb2xzdXBl ciB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGlj YXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZh bGlkdW50aWwgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t CisgcmVncmVzc190ZXN0X3JvbGVfY2FubG9naW4gfCBmICAgICAgICB8IGYgICAgICAgICAgICAg fCBmICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAogKDEgcm93KQogCiBBTFRFUiBST0xF IHJlZ3Jlc3NfdGVzdF9yb2xlX2NhbmxvZ2luIFdJVEggTE9HSU47Ci1TRUxFQ1Qgcm9sbmFtZSwg cm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5s b2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNz d29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jl c3NfdGVzdF9yb2xlX2NhbmxvZ2luJzsKLSAgICAgICAgICByb2xuYW1lICAgICAgICAgICB8IHJv bHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNh bmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCBy b2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdF9yb2xlX2Nhbmxv Z2luIHwgZiAgICAgICAgfCB0ICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAg IHwgdCAgICAgICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAg ICAtMSB8ICAgICAgICAgICAgIHwgCitTRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0 ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFz c3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1 dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9yb2xlX2NhbmxvZ2luJzsKKyAgICAg ICAgICByb2xuYW1lICAgICAgICAgICB8IHJvbHN1cGVyIHwgcm9sY3JlYXRlcm9sZSB8IHJvbGNy ZWF0ZWRiIHwgcm9sY2FubG9naW4gfCByb2xyZXBsaWNhdGlvbiB8IHJvbGJ5cGFzc3JscyB8IHJv bGNvbm5saW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFsaWR1bnRpbCAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3Rfcm9sZV9jYW5s b2dpbiB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgdCAgICAgICAg ICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAgICAg ICAgICAgIHwgCiAoMSByb3cpCiAKIC0tIGRlZmF1bHQgZm9yIGNhbiBsb2dpbiBpcyB0cnVlIGZv ciB1c2VyCiBDUkVBVEUgVVNFUiByZWdyZXNzX3Rlc3RfZGVmX3VzZXJfY2FubG9naW47Ci1TRUxF Q1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0 ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxp bWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xu YW1lID0gJ3JlZ3Jlc3NfdGVzdF9kZWZfdXNlcl9jYW5sb2dpbic7Ci0gICAgICAgICAgICByb2xu YW1lICAgICAgICAgICAgIHwgcm9sc3VwZXIgfCByb2xpbmhlcml0IHwgcm9sY3JlYXRlcm9sZSB8 IHJvbGNyZWF0ZWRiIHwgcm9sY2FubG9naW4gfCByb2xyZXBsaWNhdGlvbiB8IHJvbGJ5cGFzc3Js cyB8IHJvbGNvbm5saW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFsaWR1bnRpbCAKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQot IHJlZ3Jlc3NfdGVzdF9kZWZfdXNlcl9jYW5sb2dpbiB8IGYgICAgICAgIHwgdCAgICAgICAgICB8 IGYgICAgICAgICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAgICAgIHwgZiAgICAgICAgICAg ICAgfCBmICAgICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAorU0VMRUNU IHJvbG5hbWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9n aW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dv cmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNz X3Rlc3RfZGVmX3VzZXJfY2FubG9naW4nOworICAgICAgICAgICAgcm9sbmFtZSAgICAgICAgICAg ICB8IHJvbHN1cGVyIHwgcm9sY3JlYXRlcm9sZSB8IHJvbGNyZWF0ZWRiIHwgcm9sY2FubG9naW4g fCByb2xyZXBsaWNhdGlvbiB8IHJvbGJ5cGFzc3JscyB8IHJvbGNvbm5saW1pdCB8IHJvbHBhc3N3 b3JkIHwgcm9sdmFsaWR1bnRpbCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0X2RlZl91c2VyX2NhbmxvZ2luIHwgZiAgICAg ICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgICAgfCB0ICAgICAgICAgICB8IGYgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgIHwgICAgICAgICAgIC0xIHwgICAgICAgICAgICAgfCAKICgx IHJvdykKIAogQ1JFQVRFIFVTRVIgcmVncmVzc190ZXN0X3VzZXJfY2FubG9naW4gV0lUSCBOT0xP R0lOOwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVhdGVyb2xl LCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMs IHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQg V0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfdXNlcl9jYW5sb2dpbic7Ci0gICAgICAgICAg cm9sbmFtZSAgICAgICAgICAgfCByb2xzdXBlciB8IHJvbGluaGVyaXQgfCByb2xjcmVhdGVyb2xl IHwgcm9sY3JlYXRlZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlwYXNz cmxzIHwgcm9sY29ubmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KLSBy ZWdyZXNzX3Rlc3RfdXNlcl9jYW5sb2dpbiB8IGYgICAgICAgIHwgdCAgICAgICAgICB8IGYgICAg ICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAorU0VMRUNUIHJvbG5h bWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJv bHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJv bHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3Rf dXNlcl9jYW5sb2dpbic7CisgICAgICAgICAgcm9sbmFtZSAgICAgICAgICAgfCByb2xzdXBlciB8 IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRp b24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlk dW50aWwgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisg cmVncmVzc190ZXN0X3VzZXJfY2FubG9naW4gfCBmICAgICAgICB8IGYgICAgICAgICAgICAgfCBm ICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg fCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAogKDEgcm93KQogCiBBTFRFUiBVU0VSIHJl Z3Jlc3NfdGVzdF91c2VyX2NhbmxvZ2luIFdJVEggTE9HSU47Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9s c3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dp biwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29y ZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3Nf dGVzdF91c2VyX2NhbmxvZ2luJzsKLSAgICAgICAgICByb2xuYW1lICAgICAgICAgICB8IHJvbHN1 cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxv Z2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xw YXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdF91c2VyX2NhbmxvZ2lu IHwgZiAgICAgICAgfCB0ICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwg dCAgICAgICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAt MSB8ICAgICAgICAgICAgIHwgCitTRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0ZXJv bGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Js cywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhp ZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF91c2VyX2NhbmxvZ2luJzsKKyAgICAgICAg ICByb2xuYW1lICAgICAgICAgICB8IHJvbHN1cGVyIHwgcm9sY3JlYXRlcm9sZSB8IHJvbGNyZWF0 ZWRiIHwgcm9sY2FubG9naW4gfCByb2xyZXBsaWNhdGlvbiB8IHJvbGJ5cGFzc3JscyB8IHJvbGNv bm5saW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFsaWR1bnRpbCAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RfdXNlcl9jYW5sb2dp biB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgdCAgICAgICAgICAg fCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAgICAgICAg ICAgIHwgCiAoMSByb3cpCiAKIEFMVEVSIFVTRVIgcmVncmVzc190ZXN0X3VzZXJfY2FubG9naW4g V0lUSCBOT0xPR0lOOwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xj cmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xi eXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBw Z19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfdXNlcl9jYW5sb2dpbic7Ci0g ICAgICAgICAgcm9sbmFtZSAgICAgICAgICAgfCByb2xzdXBlciB8IHJvbGluaGVyaXQgfCByb2xj cmVhdGVyb2xlIHwgcm9sY3JlYXRlZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwg cm9sYnlwYXNzcmxzIHwgcm9sY29ubmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGls IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0KLSByZWdyZXNzX3Rlc3RfdXNlcl9jYW5sb2dpbiB8IGYgICAgICAgIHwgdCAgICAgICAg ICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAorU0VM RUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2Fu bG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFz c3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdy ZXNzX3Rlc3RfdXNlcl9jYW5sb2dpbic7CisgICAgICAgICAgcm9sbmFtZSAgICAgICAgICAgfCBy b2xzdXBlciB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9s cmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8 IHJvbHZhbGlkdW50aWwgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tCisgcmVncmVzc190ZXN0X3VzZXJfY2FubG9naW4gfCBmICAgICAgICB8IGYgICAgICAg ICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAogKDEgcm93KQogCiAtLSBk ZWZhdWx0IGZvciByZXBsaWNhdGlvbiBpcyBmYWxzZQogQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0 X2RlZl9yZXBsaWNhdGlvbjsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwg cm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwg cm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZS T00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2RlZl9yZXBsaWNhdGlv bic7Ci0gICAgICAgICAgIHJvbG5hbWUgICAgICAgICAgICB8IHJvbHN1cGVyIHwgcm9saW5oZXJp dCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGlj YXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZh bGlkdW50aWwgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0X2RlZl9yZXBsaWNhdGlvbiB8IGYgICAgICAg IHwgdCAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAg IHwgZiAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAg ICAgICB8IAorU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVh dGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5s aW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9s bmFtZSA9ICdyZWdyZXNzX3Rlc3RfZGVmX3JlcGxpY2F0aW9uJzsKKyAgICAgICAgICAgcm9sbmFt ZSAgICAgICAgICAgIHwgcm9sc3VwZXIgfCByb2xjcmVhdGVyb2xlIHwgcm9sY3JlYXRlZGIgfCBy b2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9sY29ubmxpbWl0 IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0X2RlZl9yZXBsaWNhdGlvbiB8 IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgfCBm ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAgICAgICAgICAg IHwgCiAoMSByb3cpCiAKIENSRUFURSBST0xFIHJlZ3Jlc3NfdGVzdF9yZXBsaWNhdGlvbiBXSVRI IFJFUExJQ0FUSU9OOwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xj cmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xi eXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBw Z19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfcmVwbGljYXRpb24nOwotICAg ICAgICAgcm9sbmFtZSAgICAgICAgICB8IHJvbHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0 ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xi eXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0K LSByZWdyZXNzX3Rlc3RfcmVwbGljYXRpb24gfCBmICAgICAgICB8IHQgICAgICAgICAgfCBmICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgIHwgICAgICAgICAgIC0xIHwgICAgICAgICAgICAgfCAKK1NFTEVDVCByb2xu YW1lLCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCBy b2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCBy b2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0 X3JlcGxpY2F0aW9uJzsKKyAgICAgICAgIHJvbG5hbWUgICAgICAgICAgfCByb2xzdXBlciB8IHJv bGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24g fCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50 aWwgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jl c3NfdGVzdF9yZXBsaWNhdGlvbiB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg ICAgIHwgZiAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAg ICAgICAtMSB8ICAgICAgICAgICAgIHwgCiAoMSByb3cpCiAKIEFMVEVSIFJPTEUgcmVncmVzc190 ZXN0X3JlcGxpY2F0aW9uIFdJVEggTk9SRVBMSUNBVElPTjsKLVNFTEVDVCByb2xuYW1lLCByb2xz dXBlciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2lu LCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3Jk LCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190 ZXN0X3JlcGxpY2F0aW9uJzsKLSAgICAgICAgIHJvbG5hbWUgICAgICAgICAgfCByb2xzdXBlciB8 IHJvbGluaGVyaXQgfCByb2xjcmVhdGVyb2xlIHwgcm9sY3JlYXRlZGIgfCByb2xjYW5sb2dpbiB8 IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9sY29ubmxpbWl0IHwgcm9scGFzc3dv cmQgfCByb2x2YWxpZHVudGlsIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0X3JlcGxpY2F0aW9uIHwgZiAgICAg ICAgfCB0ICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAg ICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAgICAg ICAgICAgIHwgCitTRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNy ZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29u bmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSBy b2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9yZXBsaWNhdGlvbic7CisgICAgICAgICByb2xuYW1lICAg ICAgICAgIHwgcm9sc3VwZXIgfCByb2xjcmVhdGVyb2xlIHwgcm9sY3JlYXRlZGIgfCByb2xjYW5s b2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlwYXNzcmxzIHwgcm9sY29ubmxpbWl0IHwgcm9s cGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RfcmVwbGljYXRpb24gfCBmICAgICAgICB8IGYg ICAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAogKDEgcm93KQog CiBBTFRFUiBST0xFIHJlZ3Jlc3NfdGVzdF9yZXBsaWNhdGlvbiBXSVRIIFJFUExJQ0FUSU9OOwot U0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVhdGVyb2xlLCByb2xj cmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNv bm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUg cm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfcmVwbGljYXRpb24nOwotICAgICAgICAgcm9sbmFtZSAg ICAgICAgICB8IHJvbHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVh dGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xj b25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3Rf cmVwbGljYXRpb24gfCBmICAgICAgICB8IHQgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgfCBmICAgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgIHwg ICAgICAgICAgIC0xIHwgICAgICAgICAgICAgfCAKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBlciwg cm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwg cm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZS T00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X3JlcGxpY2F0aW9uJzsK KyAgICAgICAgIHJvbG5hbWUgICAgICAgICAgfCByb2xzdXBlciB8IHJvbGNyZWF0ZXJvbGUgfCBy b2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMg fCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdF9yZXBsaWNh dGlvbiB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAg ICAgfCB0ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAgICAg ICAgICAgIHwgCiAoMSByb3cpCiAKIC0tIGRlZmF1bHQgZm9yIGJ5cGFzc3JscyBpcyBmYWxzZQog Q1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X2RlZl9ieXBhc3NybHM7Ci1TRUxFQ1Qgcm9sbmFtZSwg cm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5s b2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNz d29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jl c3NfdGVzdF9kZWZfYnlwYXNzcmxzJzsKLSAgICAgICAgICByb2xuYW1lICAgICAgICAgICB8IHJv bHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNh bmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xieXBhc3NybHMgfCByb2xjb25ubGltaXQgfCBy b2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdF9kZWZfYnlwYXNz cmxzIHwgZiAgICAgICAgfCB0ICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAg IHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAg ICAtMSB8ICAgICAgICAgICAgIHwgCitTRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0 ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFz c3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1 dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9kZWZfYnlwYXNzcmxzJzsKKyAgICAg ICAgICByb2xuYW1lICAgICAgICAgICB8IHJvbHN1cGVyIHwgcm9sY3JlYXRlcm9sZSB8IHJvbGNy ZWF0ZWRiIHwgcm9sY2FubG9naW4gfCByb2xyZXBsaWNhdGlvbiB8IHJvbGJ5cGFzc3JscyB8IHJv bGNvbm5saW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFsaWR1bnRpbCAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RfZGVmX2J5cGFz c3JscyB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAg ICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAgICAg ICAgICAgIHwgCiAoMSByb3cpCiAKIENSRUFURSBST0xFIHJlZ3Jlc3NfdGVzdF9ieXBhc3NybHMg V0lUSCBCWVBBU1NSTFM7Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJv bGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJv bGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9N IHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9ieXBhc3NybHMnOwotICAg ICAgICByb2xuYW1lICAgICAgICAgfCByb2xzdXBlciB8IHJvbGluaGVyaXQgfCByb2xjcmVhdGVy b2xlIHwgcm9sY3JlYXRlZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlw YXNzcmxzIHwgcm9sY29ubmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQotIHJl Z3Jlc3NfdGVzdF9ieXBhc3NybHMgfCBmICAgICAgICB8IHQgICAgICAgICAgfCBmICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgICAgIHwgdCAgICAg ICAgICAgIHwgICAgICAgICAgIC0xIHwgICAgICAgICAgICAgfCAKK1NFTEVDVCByb2xuYW1lLCBy b2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBs aWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxp ZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2J5cGFz c3Jscyc7CisgICAgICAgIHJvbG5hbWUgICAgICAgICB8IHJvbHN1cGVyIHwgcm9sY3JlYXRlcm9s ZSB8IHJvbGNyZWF0ZWRiIHwgcm9sY2FubG9naW4gfCByb2xyZXBsaWNhdGlvbiB8IHJvbGJ5cGFz c3JscyB8IHJvbGNvbm5saW1pdCB8IHJvbHBhc3N3b3JkIHwgcm9sdmFsaWR1bnRpbCAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdF9ieXBh c3NybHMgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAg ICAgIHwgZiAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAg ICAgICAgICB8IAogKDEgcm93KQogCiBBTFRFUiBST0xFIHJlZ3Jlc3NfdGVzdF9ieXBhc3NybHMg V0lUSCBOT0JZUEFTU1JMUzsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwg cm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwg cm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZS T00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2J5cGFzc3Jscyc7Ci0g ICAgICAgIHJvbG5hbWUgICAgICAgICB8IHJvbHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0 ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xi eXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCi0g cmVncmVzc190ZXN0X2J5cGFzc3JscyB8IGYgICAgICAgIHwgdCAgICAgICAgICB8IGYgICAgICAg ICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAorU0VMRUNUIHJvbG5hbWUs IHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJl cGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZh bGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfYnlw YXNzcmxzJzsKKyAgICAgICAgcm9sbmFtZSAgICAgICAgIHwgcm9sc3VwZXIgfCByb2xjcmVhdGVy b2xlIHwgcm9sY3JlYXRlZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlw YXNzcmxzIHwgcm9sY29ubmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0X2J5 cGFzc3JscyB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAg ICAgICAgfCBmICAgICAgICAgICAgICB8IGYgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAg ICAgICAgICAgIHwgCiAoMSByb3cpCiAKIEFMVEVSIFJPTEUgcmVncmVzc190ZXN0X2J5cGFzc3Js cyBXSVRIIEJZUEFTU1JMUzsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwg cm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwg cm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZS T00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2J5cGFzc3Jscyc7Ci0g ICAgICAgIHJvbG5hbWUgICAgICAgICB8IHJvbHN1cGVyIHwgcm9saW5oZXJpdCB8IHJvbGNyZWF0 ZXJvbGUgfCByb2xjcmVhdGVkYiB8IHJvbGNhbmxvZ2luIHwgcm9scmVwbGljYXRpb24gfCByb2xi eXBhc3NybHMgfCByb2xjb25ubGltaXQgfCByb2xwYXNzd29yZCB8IHJvbHZhbGlkdW50aWwgCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCi0g cmVncmVzc190ZXN0X2J5cGFzc3JscyB8IGYgICAgICAgIHwgdCAgICAgICAgICB8IGYgICAgICAg ICAgICAgfCBmICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgfCB0ICAg ICAgICAgICAgfCAgICAgICAgICAgLTEgfCAgICAgICAgICAgICB8IAorU0VMRUNUIHJvbG5hbWUs IHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJl cGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZh bGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfYnlw YXNzcmxzJzsKKyAgICAgICAgcm9sbmFtZSAgICAgICAgIHwgcm9sc3VwZXIgfCByb2xjcmVhdGVy b2xlIHwgcm9sY3JlYXRlZGIgfCByb2xjYW5sb2dpbiB8IHJvbHJlcGxpY2F0aW9uIHwgcm9sYnlw YXNzcmxzIHwgcm9sY29ubmxpbWl0IHwgcm9scGFzc3dvcmQgfCByb2x2YWxpZHVudGlsIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0X2J5 cGFzc3JscyB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgICAgIHwgZiAgICAg ICAgICAgfCBmICAgICAgICAgICAgICB8IHQgICAgICAgICAgICB8ICAgICAgICAgICAtMSB8ICAg ICAgICAgICAgIHwgCiAoMSByb3cpCiAKIC0tIGNsZWFuIHVwIHJvbGVzCiBEUk9QIFJPTEUgcmVn cmVzc190ZXN0X2RlZl9zdXBlcnVzZXI7CiBEUk9QIFJPTEUgcmVncmVzc190ZXN0X3N1cGVydXNl cjsKIERST1AgUk9MRSByZWdyZXNzX3Rlc3RfZGVmX2luaGVyaXQ7CitFUlJPUjogIHJvbGUgInJl Z3Jlc3NfdGVzdF9kZWZfaW5oZXJpdCIgZG9lcyBub3QgZXhpc3QKIERST1AgUk9MRSByZWdyZXNz X3Rlc3RfaW5oZXJpdDsKK0VSUk9SOiAgcm9sZSAicmVncmVzc190ZXN0X2luaGVyaXQiIGRvZXMg bm90IGV4aXN0CiBEUk9QIFJPTEUgcmVncmVzc190ZXN0X2RlZl9jcmVhdGVyb2xlOwogRFJPUCBS T0xFIHJlZ3Jlc3NfdGVzdF9jcmVhdGVyb2xlOwogRFJPUCBST0xFIHJlZ3Jlc3NfdGVzdF9kZWZf Y3JlYXRlZGI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IGZjM2NkZTMyMjYu LjVjNGRhMzgxN2EgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMu b3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0xNDc2LDcg KzE0NzYsNiBAQCBwZ19yZXBsaWNhdGlvbl9zbG90c3wgU0VMRUNUIGwuc2xvdF9uYW1lLAogICAg ICBMRUZUIEpPSU4gcGdfZGF0YWJhc2UgZCBPTiAoKGwuZGF0b2lkID0gZC5vaWQpKSk7CiBwZ19y b2xlc3wgU0VMRUNUIHBnX2F1dGhpZC5yb2xuYW1lLAogICAgIHBnX2F1dGhpZC5yb2xzdXBlciwK LSAgICBwZ19hdXRoaWQucm9saW5oZXJpdCwKICAgICBwZ19hdXRoaWQucm9sY3JlYXRlcm9sZSwK ICAgICBwZ19hdXRoaWQucm9sY3JlYXRlZGIsCiAgICAgcGdfYXV0aGlkLnJvbGNhbmxvZ2luLApk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwgYi9zcmMvdGVz dC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbAppbmRleCAyYTZiYTM4ZTUyLi5mNzY4ODE1YzJj IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbApAQCAtMjg2LDcgKzI4Niw3IEBAIERF TEVURSBGUk9NIGF0ZXN0MzsgLS0gb2sKIAogQkVHSU47CiBSRVNFVCBTRVNTSU9OIEFVVEhPUkla QVRJT047Ci1BTFRFUiBST0xFIHJlZ3Jlc3NfcHJpdl91c2VyMSBOT0lOSEVSSVQ7CitHUkFOVCBy ZWdyZXNzX3ByaXZfZ3JvdXAyIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMSBXSVRIIElOSEVSSVQgRkFM U0U7CiBTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKIERFTEVU RSBGUk9NIGF0ZXN0MzsKIFJPTExCQUNLOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9z cWwvcm9sZWF0dHJpYnV0ZXMuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcm9sZWF0dHJpYnV0 ZXMuc3FsCmluZGV4IGM5NjFiMmQ3MzAuLmNjZmI3NDg3Y2MgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3JvbGVhdHRyaWJ1dGVzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9yb2xlYXR0cmlidXRlcy5zcWwKQEAgLTEsODMgKzEsNzMgQEAKIC0tIGRlZmF1bHQgZm9yIHN1 cGVydXNlciBpcyBmYWxzZQogQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X2RlZl9zdXBlcnVzZXI7 CiAKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwg cm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCBy b2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdI RVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2RlZl9zdXBlcnVzZXInOworU0VMRUNUIHJvbG5h bWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJv bHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJv bHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3Rf ZGVmX3N1cGVydXNlcic7CiBDUkVBVEUgUk9MRSByZWdyZXNzX3Rlc3Rfc3VwZXJ1c2VyIFdJVEgg U1VQRVJVU0VSOwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVh dGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBh c3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19h dXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3Rfc3VwZXJ1c2VyJzsKK1NFTEVDVCBy b2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2lu LCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3Jk LCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190 ZXN0X3N1cGVydXNlcic7CiBBTFRFUiBST0xFIHJlZ3Jlc3NfdGVzdF9zdXBlcnVzZXIgV0lUSCBO T1NVUEVSVVNFUjsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwgcm9sY3Jl YXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlw YXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdf YXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X3N1cGVydXNlcic7CitTRUxFQ1Qg cm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dp biwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29y ZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3Nf dGVzdF9zdXBlcnVzZXInOwogQUxURVIgUk9MRSByZWdyZXNzX3Rlc3Rfc3VwZXJ1c2VyIFdJVEgg U1VQRVJVU0VSOwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVh dGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBh c3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19h dXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3Rfc3VwZXJ1c2VyJzsKLQotLS0gZGVm YXVsdCBmb3IgaW5oZXJpdCBpcyB0cnVlCi1DUkVBVEUgUk9MRSByZWdyZXNzX3Rlc3RfZGVmX2lu aGVyaXQ7Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJv bGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Js cywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhp ZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9kZWZfaW5oZXJpdCc7Ci1DUkVBVEUgUk9M RSByZWdyZXNzX3Rlc3RfaW5oZXJpdCBXSVRIIE5PSU5IRVJJVDsKLVNFTEVDVCByb2xuYW1lLCBy b2xzdXBlciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxv Z2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3 b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVz c190ZXN0X2luaGVyaXQnOwotQUxURVIgUk9MRSByZWdyZXNzX3Rlc3RfaW5oZXJpdCBXSVRIIElO SEVSSVQ7Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJv bGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Js cywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhp ZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9pbmhlcml0JzsKLUFMVEVSIFJPTEUgcmVn cmVzc190ZXN0X2luaGVyaXQgV0lUSCBOT0lOSEVSSVQ7Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3Vw ZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwg cm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwg cm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVz dF9pbmhlcml0JzsKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9s Y3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xj b25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJF IHJvbG5hbWUgPSAncmVncmVzc190ZXN0X3N1cGVydXNlcic7CiAKIC0tIGRlZmF1bHQgZm9yIGNy ZWF0ZSByb2xlIGlzIGZhbHNlCiBDUkVBVEUgUk9MRSByZWdyZXNzX3Rlc3RfZGVmX2NyZWF0ZXJv bGU7Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUs IHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywg cm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBX SEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9kZWZfY3JlYXRlcm9sZSc7CitTRUxFQ1Qgcm9s bmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwg cm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwg cm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVz dF9kZWZfY3JlYXRlcm9sZSc7CiBDUkVBVEUgUk9MRSByZWdyZXNzX3Rlc3RfY3JlYXRlcm9sZSBX SVRIIENSRUFURVJPTEU7Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJv bGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJv bGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9N IHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9jcmVhdGVyb2xlJzsKK1NF TEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNh bmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBh c3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVn cmVzc190ZXN0X2NyZWF0ZXJvbGUnOwogQUxURVIgUk9MRSByZWdyZXNzX3Rlc3RfY3JlYXRlcm9s ZSBXSVRIIE5PQ1JFQVRFUk9MRTsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJp dCwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlv biwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGls IEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2NyZWF0ZXJvbGUn OworU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwg cm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwg cm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9 ICdyZWdyZXNzX3Rlc3RfY3JlYXRlcm9sZSc7CiBBTFRFUiBST0xFIHJlZ3Jlc3NfdGVzdF9jcmVh dGVyb2xlIFdJVEggQ1JFQVRFUk9MRTsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5o ZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNh dGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVu dGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2NyZWF0ZXJv bGUnOworU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVk Yiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1p dCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFt ZSA9ICdyZWdyZXNzX3Rlc3RfY3JlYXRlcm9sZSc7CiAKIC0tIGRlZmF1bHQgZm9yIGNyZWF0ZSBk YXRhYmFzZSBpcyBmYWxzZQogQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X2RlZl9jcmVhdGVkYjsK LVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9s Y3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xj b25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJF IHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2RlZl9jcmVhdGVkYic7CitTRUxFQ1Qgcm9sbmFtZSwg cm9sc3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVw bGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFs aWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9kZWZf Y3JlYXRlZGInOwogQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X2NyZWF0ZWRiIFdJVEggQ1JFQVRF REI7Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUs IHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywg cm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBX SEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9jcmVhdGVkYic7CitTRUxFQ1Qgcm9sbmFtZSwg cm9sc3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVw bGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFs aWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9jcmVh dGVkYic7CiBBTFRFUiBST0xFIHJlZ3Jlc3NfdGVzdF9jcmVhdGVkYiBXSVRIIE5PQ1JFQVRFREI7 Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJv bGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9s Y29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVS RSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9jcmVhdGVkYic7CitTRUxFQ1Qgcm9sbmFtZSwgcm9s c3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGlj YXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1 bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9jcmVhdGVk Yic7CiBBTFRFUiBST0xFIHJlZ3Jlc3NfdGVzdF9jcmVhdGVkYiBXSVRIIENSRUFURURCOwotU0VM RUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVhdGVyb2xlLCByb2xjcmVh dGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5s aW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9s bmFtZSA9ICdyZWdyZXNzX3Rlc3RfY3JlYXRlZGInOworU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVy LCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9u LCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwg RlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfY3JlYXRlZGInOwog CiAtLSBkZWZhdWx0IGZvciBjYW4gbG9naW4gaXMgZmFsc2UgZm9yIHJvbGUKIENSRUFURSBST0xF IHJlZ3Jlc3NfdGVzdF9kZWZfcm9sZV9jYW5sb2dpbjsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBl ciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCBy b2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCBy b2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0 X2RlZl9yb2xlX2NhbmxvZ2luJzsKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRl cm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNz cmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0 aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2RlZl9yb2xlX2NhbmxvZ2luJzsKIENS RUFURSBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlX2NhbmxvZ2luIFdJVEggTE9HSU47Ci1TRUxFQ1Qg cm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRi LCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0 LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1l ID0gJ3JlZ3Jlc3NfdGVzdF9yb2xlX2NhbmxvZ2luJzsKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBl ciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlv biwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGls IEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X3JvbGVfY2FubG9n aW4nOwogQUxURVIgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZV9jYW5sb2dpbiBXSVRIIE5PTE9HSU47 Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJv bGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9s Y29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVS RSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9yb2xlX2NhbmxvZ2luJzsKK1NFTEVDVCByb2xuYW1l LCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xy ZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2 YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X3Jv bGVfY2FubG9naW4nOwogQUxURVIgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZV9jYW5sb2dpbiBXSVRI IExPR0lOOwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVhdGVy b2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3Ny bHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRo aWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3Rfcm9sZV9jYW5sb2dpbic7CitTRUxFQ1Qg cm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dp biwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29y ZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3Nf dGVzdF9yb2xlX2NhbmxvZ2luJzsKIAogLS0gZGVmYXVsdCBmb3IgY2FuIGxvZ2luIGlzIHRydWUg Zm9yIHVzZXIKIENSRUFURSBVU0VSIHJlZ3Jlc3NfdGVzdF9kZWZfdXNlcl9jYW5sb2dpbjsKLVNF TEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwgcm9sY3JlYXRlcm9sZSwgcm9sY3Jl YXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25u bGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJv bG5hbWUgPSAncmVncmVzc190ZXN0X2RlZl91c2VyX2NhbmxvZ2luJzsKK1NFTEVDVCByb2xuYW1l LCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xy ZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2 YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2Rl Zl91c2VyX2NhbmxvZ2luJzsKIENSRUFURSBVU0VSIHJlZ3Jlc3NfdGVzdF91c2VyX2NhbmxvZ2lu IFdJVEggTk9MT0dJTjsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwgcm9s Y3JlYXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9s YnlwYXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00g cGdfYXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X3VzZXJfY2FubG9naW4nOwor U0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9s Y2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9s cGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdy ZWdyZXNzX3Rlc3RfdXNlcl9jYW5sb2dpbic7CiBBTFRFUiBVU0VSIHJlZ3Jlc3NfdGVzdF91c2Vy X2NhbmxvZ2luIFdJVEggTE9HSU47Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGluaGVy aXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRp b24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRp bCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF91c2VyX2Nhbmxv Z2luJzsKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRl ZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGlt aXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5h bWUgPSAncmVncmVzc190ZXN0X3VzZXJfY2FubG9naW4nOwogQUxURVIgVVNFUiByZWdyZXNzX3Rl c3RfdXNlcl9jYW5sb2dpbiBXSVRIIE5PTE9HSU47Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIs IHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9s cmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9s dmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF91 c2VyX2NhbmxvZ2luJzsKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwg cm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCBy b2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdI RVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X3VzZXJfY2FubG9naW4nOwogCiAtLSBkZWZhdWx0 IGZvciByZXBsaWNhdGlvbiBpcyBmYWxzZQogQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X2RlZl9y ZXBsaWNhdGlvbjsKLVNFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9saW5oZXJpdCwgcm9sY3Jl YXRlcm9sZSwgcm9sY3JlYXRlZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlw YXNzcmxzLCByb2xjb25ubGltaXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdf YXV0aGlkIFdIRVJFIHJvbG5hbWUgPSAncmVncmVzc190ZXN0X2RlZl9yZXBsaWNhdGlvbic7CitT RUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xj YW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xw YXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3Jl Z3Jlc3NfdGVzdF9kZWZfcmVwbGljYXRpb24nOwogQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X3Jl cGxpY2F0aW9uIFdJVEggUkVQTElDQVRJT047Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJv bGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVw bGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFs aWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9yZXBs aWNhdGlvbic7CitTRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNy ZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29u bmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSBy b2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9yZXBsaWNhdGlvbic7CiBBTFRFUiBST0xFIHJlZ3Jlc3Nf dGVzdF9yZXBsaWNhdGlvbiBXSVRIIE5PUkVQTElDQVRJT047Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9s c3VwZXIsIHJvbGluaGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dp biwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29y ZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3Nf dGVzdF9yZXBsaWNhdGlvbic7CitTRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0ZXJv bGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Js cywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhp ZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9yZXBsaWNhdGlvbic7CiBBTFRFUiBST0xF IHJlZ3Jlc3NfdGVzdF9yZXBsaWNhdGlvbiBXSVRIIFJFUExJQ0FUSU9OOwotU0VMRUNUIHJvbG5h bWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9s Y2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9s cGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdy ZWdyZXNzX3Rlc3RfcmVwbGljYXRpb24nOworU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xj cmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xi eXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBw Z19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfcmVwbGljYXRpb24nOwogCiAt LSBkZWZhdWx0IGZvciBieXBhc3NybHMgaXMgZmFsc2UKIENSRUFURSBST0xFIHJlZ3Jlc3NfdGVz dF9kZWZfYnlwYXNzcmxzOwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xpbmhlcml0LCBy b2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCBy b2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJP TSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfZGVmX2J5cGFzc3Jscyc7 CitTRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCBy b2xjYW5sb2dpbiwgcm9scmVwbGljYXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCBy b2xwYXNzd29yZCwgcm9sdmFsaWR1bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0g J3JlZ3Jlc3NfdGVzdF9kZWZfYnlwYXNzcmxzJzsKIENSRUFURSBST0xFIHJlZ3Jlc3NfdGVzdF9i eXBhc3NybHMgV0lUSCBCWVBBU1NSTFM7Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGlu aGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGlj YXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1 bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9ieXBhc3Ny bHMnOworU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVk Yiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1p dCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFt ZSA9ICdyZWdyZXNzX3Rlc3RfYnlwYXNzcmxzJzsKIEFMVEVSIFJPTEUgcmVncmVzc190ZXN0X2J5 cGFzc3JscyBXSVRIIE5PQllQQVNTUkxTOwotU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xp bmhlcml0LCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVkYiwgcm9sY2FubG9naW4sIHJvbHJlcGxp Y2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1pdCwgcm9scGFzc3dvcmQsIHJvbHZhbGlk dW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZSA9ICdyZWdyZXNzX3Rlc3RfYnlwYXNz cmxzJzsKK1NFTEVDVCByb2xuYW1lLCByb2xzdXBlciwgcm9sY3JlYXRlcm9sZSwgcm9sY3JlYXRl ZGIsIHJvbGNhbmxvZ2luLCByb2xyZXBsaWNhdGlvbiwgcm9sYnlwYXNzcmxzLCByb2xjb25ubGlt aXQsIHJvbHBhc3N3b3JkLCByb2x2YWxpZHVudGlsIEZST00gcGdfYXV0aGlkIFdIRVJFIHJvbG5h bWUgPSAncmVncmVzc190ZXN0X2J5cGFzc3Jscyc7CiBBTFRFUiBST0xFIHJlZ3Jlc3NfdGVzdF9i eXBhc3NybHMgV0lUSCBCWVBBU1NSTFM7Ci1TRUxFQ1Qgcm9sbmFtZSwgcm9sc3VwZXIsIHJvbGlu aGVyaXQsIHJvbGNyZWF0ZXJvbGUsIHJvbGNyZWF0ZWRiLCByb2xjYW5sb2dpbiwgcm9scmVwbGlj YXRpb24sIHJvbGJ5cGFzc3Jscywgcm9sY29ubmxpbWl0LCByb2xwYXNzd29yZCwgcm9sdmFsaWR1 bnRpbCBGUk9NIHBnX2F1dGhpZCBXSEVSRSByb2xuYW1lID0gJ3JlZ3Jlc3NfdGVzdF9ieXBhc3Ny bHMnOworU0VMRUNUIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xjcmVhdGVyb2xlLCByb2xjcmVhdGVk Yiwgcm9sY2FubG9naW4sIHJvbHJlcGxpY2F0aW9uLCByb2xieXBhc3NybHMsIHJvbGNvbm5saW1p dCwgcm9scGFzc3dvcmQsIHJvbHZhbGlkdW50aWwgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFt ZSA9ICdyZWdyZXNzX3Rlc3RfYnlwYXNzcmxzJzsKIAogLS0gY2xlYW4gdXAgcm9sZXMKIERST1Ag Uk9MRSByZWdyZXNzX3Rlc3RfZGVmX3N1cGVydXNlcjsKLS0gCjIuMjQuMyAoQXBwbGUgR2l0LTEy OCkKCg== --0000000000005d995505e20f3662 Content-Type: application/octet-stream; name="v1-0001-Fake-version-stamp.patch" Content-Disposition: attachment; filename="v1-0001-Fake-version-stamp.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4q1uueq0 RnJvbSBjZjAyNzVmZWQwMTM2M2IwM2QxZDBjMjdiYzA3NGQxY2U0NzgxMDdiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSGFhcyA8cmhhYXNAcG9zdGdyZXNxbC5vcmc+CkRh dGU6IFdlZCwgMjIgSnVuIDIwMjIgMTU6NTc6NTQgLTA0MDAKU3ViamVjdDogW1BBVENIIHYxIDEv Ml0gRmFrZSB2ZXJzaW9uIHN0YW1wLgoKLS0tCiBjb25maWd1cmUgICAgfCAxOCArKysrKysrKyst LS0tLS0tLS0KIGNvbmZpZ3VyZS5hYyB8ICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2Vy dGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZp Z3VyZQppbmRleCA3ZGVjNmI3YmY5Li5mYjA3Y2QyN2Q5IDEwMDc1NQotLS0gYS9jb25maWd1cmUK KysrIGIvY29uZmlndXJlCkBAIC0xLDYgKzEsNiBAQAogIyEgL2Jpbi9zaAogIyBHdWVzcyB2YWx1 ZXMgZm9yIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFibGVzIGFuZCBjcmVhdGUgTWFrZWZpbGVzLgot IyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkgZm9yIFBvc3RncmVTUUwgMTViZXRhMS4K KyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5IGZvciBQb3N0Z3JlU1FMIDE2ZGV2ZWwu CiAjCiAjIFJlcG9ydCBidWdzIHRvIDxwZ3NxbC1idWdzQGxpc3RzLnBvc3RncmVzcWwub3JnPi4K ICMKQEAgLTU4Miw4ICs1ODIsOCBAQCBNQUtFRkxBR1M9CiAjIElkZW50aXR5IG9mIHRoaXMgcGFj a2FnZS4KIFBBQ0tBR0VfTkFNRT0nUG9zdGdyZVNRTCcKIFBBQ0tBR0VfVEFSTkFNRT0ncG9zdGdy ZXNxbCcKLVBBQ0tBR0VfVkVSU0lPTj0nMTViZXRhMScKLVBBQ0tBR0VfU1RSSU5HPSdQb3N0Z3Jl U1FMIDE1YmV0YTEnCitQQUNLQUdFX1ZFUlNJT049JzE2ZGV2ZWwnCitQQUNLQUdFX1NUUklORz0n UG9zdGdyZVNRTCAxNmRldmVsJwogUEFDS0FHRV9CVUdSRVBPUlQ9J3Bnc3FsLWJ1Z3NAbGlzdHMu cG9zdGdyZXNxbC5vcmcnCiBQQUNLQUdFX1VSTD0naHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcv JwogCkBAIC0xNDUyLDcgKzE0NTIsNyBAQCBpZiB0ZXN0ICIkYWNfaW5pdF9oZWxwIiA9ICJsb25n IjsgdGhlbgogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1h a2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcg dG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29u ZmlndXJlJyBjb25maWd1cmVzIFBvc3RncmVTUUwgMTViZXRhMSB0byBhZGFwdCB0byBtYW55IGtp bmRzIG9mIHN5c3RlbXMuCitcYGNvbmZpZ3VyZScgY29uZmlndXJlcyBQb3N0Z3JlU1FMIDE2ZGV2 ZWwgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgogCiBVc2FnZTogJDAgW09QVElP Tl0uLi4gW1ZBUj1WQUxVRV0uLi4KIApAQCAtMTUxNyw3ICsxNTE3LDcgQEAgZmkKIAogaWYgdGVz dCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KICAgY2FzZSAkYWNfaW5pdF9oZWxwIGluCi0gICAg IHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBQb3N0Z3JlU1FMIDE1 YmV0YTE6Ijs7CisgICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBv ZiBQb3N0Z3JlU1FMIDE2ZGV2ZWw6Ijs7CiAgICBlc2FjCiAgIGNhdCA8PFxfQUNFT0YKIApAQCAt MTY5MSw3ICsxNjkxLDcgQEAgZmkKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgJGFj X3N0YXR1cwogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1Qb3N0 Z3JlU1FMIGNvbmZpZ3VyZSAxNWJldGExCitQb3N0Z3JlU1FMIGNvbmZpZ3VyZSAxNmRldmVsCiBn ZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkKIAogQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtMjQ0NCw3ICsyNDQ0LDcgQEAgY2F0ID5jb25m aWcubG9nIDw8X0FDRU9GCiBUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2Vk IGJ5IGNvbXBpbGVycyB3aGlsZQogcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcg aWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KIAotSXQgd2FzIGNyZWF0ZWQgYnkgUG9zdGdy ZVNRTCAkYXNfbWUgMTViZXRhMSwgd2hpY2ggd2FzCitJdCB3YXMgY3JlYXRlZCBieSBQb3N0Z3Jl U1FMICRhc19tZSAxNmRldmVsLCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYg Mi42OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgICQgJDAgJEAKQEAgLTIwNTM0 LDcgKzIwNTM0LDcgQEAgY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GIHx8IGFjX3dyaXRl X2ZhaWw9MQogIyByZXBvcnQgYWN0dWFsIGlucHV0IHZhbHVlcyBvZiBDT05GSUdfRklMRVMgZXRj LiBpbnN0ZWFkIG9mIHRoZWlyCiAjIHZhbHVlcyBhZnRlciBvcHRpb25zIGhhbmRsaW5nLgogYWNf bG9nPSIKLVRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgUG9zdGdyZVNRTCAkYXNfbWUgMTViZXRh MSwgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFBvc3RncmVTUUwgJGFzX21l IDE2ZGV2ZWwsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LiAgSW52 b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgQ09ORklHX0ZJTEVTICAgID0gJENPTkZJR19G SUxFUwpAQCAtMjA2MDUsNyArMjA2MDUsNyBAQCBfQUNFT0YKIGNhdCA+PiRDT05GSUdfU1RBVFVT IDw8X0FDRU9GIHx8IGFjX3dyaXRlX2ZhaWw9MQogYWNfY3NfY29uZmlnPSJgJGFzX2VjaG8gIiRh Y19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvXiAvLzsgcy9bXFwiIlxgXCRdL1xcXFwmL2cnYCIK IGFjX2NzX3ZlcnNpb249IlxcCi1Qb3N0Z3JlU1FMIGNvbmZpZy5zdGF0dXMgMTViZXRhMQorUG9z dGdyZVNRTCBjb25maWcuc3RhdHVzIDE2ZGV2ZWwKIGNvbmZpZ3VyZWQgYnkgJDAsIGdlbmVyYXRl ZCBieSBHTlUgQXV0b2NvbmYgMi42OSwKICAgd2l0aCBvcHRpb25zIFxcIlwkYWNfY3NfY29uZmln XFwiCiAKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCBkMDkz ZmI4OGRkLi42YzZmOTk3ZWUzIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmln dXJlLmFjCkBAIC0xNyw3ICsxNyw3IEBAIGRubCBSZWFkIHRoZSBBdXRvY29uZiBtYW51YWwgZm9y IGRldGFpbHMuCiBkbmwKIG00X3BhdHRlcm5fZm9yYmlkKF5QR0FDXylkbmwgdG8gY2F0Y2ggdW5k ZWZpbmVkIG1hY3JvcwogCi1BQ19JTklUKFtQb3N0Z3JlU1FMXSwgWzE1YmV0YTFdLCBbcGdzcWwt YnVnc0BsaXN0cy5wb3N0Z3Jlc3FsLm9yZ10sIFtdLCBbaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5v cmcvXSkKK0FDX0lOSVQoW1Bvc3RncmVTUUxdLCBbMTZkZXZlbF0sIFtwZ3NxbC1idWdzQGxpc3Rz LnBvc3RncmVzcWwub3JnXSwgW10sIFtodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9dKQogCiBt NF9pZihtNF9kZWZuKFttNF9QQUNLQUdFX1ZFUlNJT05dKSwgWzIuNjldLCBbXSwgW200X2ZhdGFs KFtBdXRvY29uZiB2ZXJzaW9uIDIuNjkgaXMgcmVxdWlyZWQuCiBVbnRlc3RlZCBjb21iaW5hdGlv bnMgb2YgJ2F1dG9jb25mJyBhbmQgUG9zdGdyZVNRTCB2ZXJzaW9ucyBhcmUgbm90Ci0tIAoyLjI0 LjMgKEFwcGxlIEdpdC0xMjgpCgo= --0000000000005d995505e20f3662--