From dev-return-38740-archive-asf-public=cust-asf.ponee.io@subversion.apache.org Fri Dec 14 18:14:08 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id E977E180645 for ; Fri, 14 Dec 2018 18:14:07 +0100 (CET) Received: (qmail 74913 invoked by uid 500); 14 Dec 2018 17:14:07 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 74901 invoked by uid 99); 14 Dec 2018 17:14:07 -0000 Received: from mail-relay.apache.org (HELO mailrelay1-lw-us.apache.org) (207.244.88.152) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Dec 2018 17:14:06 +0000 Received: from auth2-smtp.messagingengine.com (auth2-smtp.messagingengine.com [66.111.4.228]) by mailrelay1-lw-us.apache.org (ASF Mail Server at mailrelay1-lw-us.apache.org) with ESMTPSA id 3E08C1006 for ; Fri, 14 Dec 2018 17:14:06 +0000 (UTC) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailauth.nyi.internal (Postfix) with ESMTP id 7830E21C8E for ; Fri, 14 Dec 2018 12:14:05 -0500 (EST) Received: from web3 ([10.202.2.213]) by compute7.internal (MEProxy); Fri, 14 Dec 2018 12:14:05 -0500 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedtkedrudehgedgleelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfquhhtnecuuegrihhlohhuthemucef tddtnecunecujfgurhepkffhvfgggfgtofgjfhfuffesmhejreerredtjeenucfhrhhomh eplfhulhhirghnucfhohgrugcuoehjuhhlihgrnhhfohgrugesrghprggthhgvrdhorhhg qeenucfrrghrrghmpehmrghilhhfrhhomhepjhhulhhirghnodhmvghsmhhtphgruhhthh hpvghrshhonhgrlhhithihqdekgeekkedtjedvtddqudeltddujeduvdekqdhjuhhlihgr nhhfohgrugeppegrphgrtghhvgdrohhrghesfhhorggurdhmvgdruhhknecuvehluhhsth gvrhfuihiivgeptd X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 99) id 23A9C9E4FA; Fri, 14 Dec 2018 12:14:05 -0500 (EST) Message-Id: <1544807645.3314990.1609244776.0E9C75A4@webmail.messagingengine.com> From: Julian Foad To: dev@subversion.apache.org MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_154480764533149904" X-Mailer: MessagingEngine.com Webmail Interface - ajax-2f590f9a In-Reply-To: <1544800724.2286371.1609242384.37887FB2@webmail.messagingengine.com> References: <89de5509-04b7-2dc6-cfa4-7f55edf62282@apache.org> <1e53afe3-947a-a7a6-848c-1eae397fea68@gmail.com> <1544649829.433922.1607507080.5C9EC775@webmail.messagingengine.com> <1544713530.3935559.1608222856.3F4F26D0@webmail.messagingengine.com> <53e25894-e9ff-6b1b-def3-e9d0e348a868@collab.net> <6f32d532-f52e-5625-3efe-6ea284dd0525@apache.org> <1544800724.2286371.1609242384.37887FB2@webmail.messagingengine.com> Subject: Re: New canonicalization functions [was: Subversion Exception!] Date: Fri, 14 Dec 2018 17:14:05 +0000 This is a multi-part message in MIME format. --_----------=_154480764533149904 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" Julian Foad wrote: > Are you willing to add random-input testing for them? The attached patch 'dirent-uri-test-random-2.patch' tests rules like: * every result should pass an X_is_canonical() test (obvious by code inspection); * every other input should produce SVN_ERR_CANONICALIZATION_FAILED; * when a path is "canonical", it should be unchanged by "canonicalize". Some findings: * svn_uri_canonicalize_safe("") aborts; * svn_uri_canonicalize_safe("/foo") aborts; * upper/lower case inconsistencies in URIs I previously also found upper/lower case inconsistencies in dirent drive letters, when running these tests with "#define SVN_USE_DOS_PATHS" set in dirent_uri.c, but am right now failing to replicate that. > * the 'relpath' one is not needed because, AFAIK, it's possible to canonicalize any > relpath and we already do; Maybe that will no longer be true if we decide to disallow some characters (control characters) and/or check for valid UTF-8 in the future. -- - Julian --_----------=_154480764533149904 Content-Disposition: attachment; filename="dirent-uri-test-random-2.patch" Content-Id: <1544807642.3314990.732b262f18faa2a6b24de15ba092e0bb79709eb8.1642D89B@content.messagingengine.com> Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="dirent-uri-test-random-2.patch" UHJvb2Ygb2YgY29uY2VwdDogYWRkIHJhbmRvbSB0ZXN0aW5nIG9mICpfY2Fu b25pY2FsaXplX3NhZmUgYW5kCm9mICpfaXNfY2Fub25pY2FsIGFuZCBvZiAq X2Nhbm9uaWNhbGl6ZS4KCk5vdGU6IHRoZSB0ZXN0IGF2b2lkcyBpbnB1dHMg b2YgIiIgYW5kICIvLi4uIiB0byBzdm5fdXJpX2Nhbm9uaWNhbGl6ZSwKYmVj YXVzZSBpdCBhc3NlcnRpb24tZmFpbHMgb24gdGhlbS4KClNhbXBsZSBvdXRw dXRzICh0ZXN0X2Nhbm9uaWNhbGl6ZV9zYWZlX3JhbmRvbSk6CltbWwpFeHBl Y3RlZDogJ2o6Ly81OjBSJwpGb3VuZDogICAgJ2o6Ly81OjByJwphdCBkaXJl bnRfdXJpLXRlc3QuYzoxMjM0Cl1dXQoKKiBzdWJ2ZXJzaW9uL3Rlc3RzL2xp YnN2bl9zdWJyL2RpcmVudF91cmktdGVzdC5jCiAgKHJhbmRvbV9maWxlbmFt ZSk6IE5ldy4KICAocmVscGF0aF9pc19jYW5vbmljYWwpOiBOZXcsIHdyYXBw ZXIgbWFjcm8uCiAgKFNWTl9URVNUX1NUUklOR19BU1NFUlQpOiBUZW1wb3Jh cmlseSByZWRlZmluZSBzbyB0aGUgdGVzdCBrZWVwcyBnb2luZy4KICAodGVz dF9jYW5vbmljYWxpemVfc2FmZV9yYW5kb20sCiAgIHRlc3RfY2Fub25pY2Fs aXplX2lzX2Nhbm9uaWNhbF9yYW5kb20pOiBOZXcgdGVzdHMuCiAgKHRlc3Rf ZnVuY3MpOiBSdW4gdGhlbS4KLS1UaGlzIGxpbmUsIGFuZCB0aG9zZSBiZWxv dywgd2lsbCBiZSBpZ25vcmVkLS0KCkluZGV4OiBzdWJ2ZXJzaW9uL3Rlc3Rz L2xpYnN2bl9zdWJyL2RpcmVudF91cmktdGVzdC5jCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIHN1YnZlcnNpb24vdGVzdHMvbGlic3ZuX3N1YnIvZGly ZW50X3VyaS10ZXN0LmMJKHJldmlzaW9uIDE4NDg5NTIpCisrKyBzdWJ2ZXJz aW9uL3Rlc3RzL2xpYnN2bl9zdWJyL2RpcmVudF91cmktdGVzdC5jCSh3b3Jr aW5nIGNvcHkpCkBAIC0xMTI5LDEyICsxMTI5LDE4MiBAQCB0ZXN0X2RpcmVu dF9pc19jYW5vbmljYWwoYXByX3Bvb2xfdCAqcG9vCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjYW5vbmljYWxpemVkKTsKICAgICB9CiAK ICAgcmV0dXJuIFNWTl9OT19FUlJPUjsKIH0KIAorLyogcmV0dXJuIGEgcmFu ZG9tIHN0cmluZywgc29tZXdoYXQgbGlrZSBhIGZpbGVuYW1lL3BhdGggKi8K K3N0YXRpYyBjaGFyICoKK3JhbmRvbV9maWxlbmFtZSh2b2lkKQoreworICBz dGF0aWMgY2hhciBzWzEwXTsKKyAgaW50IGxlbiA9IChsb25nKXJhbmQoKSAq IDkgLyBSQU5EX01BWDsKKyAgaW50IGk7CisKKyAgZm9yIChpID0gMDsgaSA8 IGxlbjsgKytpKQorICAgIHsKKyAgICAgIGZsb2F0IHIxID0gKGZsb2F0KXJh bmQoKSAvIFJBTkRfTUFYOworICAgICAgZmxvYXQgcjIgPSAoZmxvYXQpcmFu ZCgpIC8gUkFORF9NQVg7CisgICAgICBjaGFyIGM7CisKKyAgICAgIGlmIChy MSA8IDAuMikgIC8qIGFib3V0IDEgaW4gNTogc3BlY2lhbCBwYXRoIGNoYXJz ICovCisgICAgICAgIHsKKyAgICAgICAgICBjID0gIi4vOiJbKGludCkocjIg KiAyLjUpXTsgIC8qIG1hbnkgLiBhbmQgLyBhbmQgYSBmZXcgOiAqLworICAg ICAgICB9CisgICAgICBlbHNlIGlmIChyMSA8IDAuMykKKyAgICAgICAgewor ICAgICAgICAgIGMgPSAoY2hhcikocjIgKiAzMik7ICAvKiBhYm91dCAxIGlu IDEwOiBjb250cm9sIGNoYXJzICovCisgICAgICAgICAgaWYgKGMgPT0gMCkg YyA9IDEyNzsKKyAgICAgICAgfQorICAgICAgZWxzZQorICAgICAgICB7Cisg ICAgICAgICAgYyA9IChjaGFyKSgzMiArIHIyICogOTUpOyAgLyogdGhlIHJl c3Q6IHByaW50YWJsZSBBU0NJSSBjaGFycyAqLworICAgICAgICB9CisgICAg ICBzW2ldID0gYzsKKyAgICB9CisgIHNbaV0gPSAnXDAnOworCisgIHJldHVy biBzOworfQorCisvKiBhIHZlcnNpb24gb2Ygc3ZuX3JlbHBhdGhfaXNfY2Fu b25pY2FsIHRoYXQgbWF0Y2hlcyB0aGUgc2lnbmF0dXJlCisgKiBvZiB0aGUg b3RoZXIgX2lzX2Nhbm9uaWNhbCBmdW50aW9ucy4gKi8KKyNkZWZpbmUgcmVs cGF0aF9pc19jYW5vbmljYWwoZiwgcG9vbCkgc3ZuX3JlbHBhdGhfaXNfY2Fu b25pY2FsKGYpCisKKyNkZWZpbmUgU1ZOX1RFU1RfU1RSSU5HX0FTU0VSVChl eHByLCBleHBlY3RlZF9leHByKSAgICAgICAgICAgICAgICAgXAorICAoc3Ry Y21wKGV4cHIsIGV4cGVjdGVkX2V4cHIpID09IDAgPyAodm9pZCkwIDogXAor ICAgU1ZOX0RCRygoIiclcycgIT0gJyVzJyIsIGV4cHIsIGV4cGVjdGVkX2V4 cHIpKSkKKworc3RhdGljIHN2bl9lcnJvcl90ICoKK3Rlc3RfY2Fub25pY2Fs aXplX3NhZmVfcmFuZG9tKGFwcl9wb29sX3QgKnBvb2wpCit7CisgIGludCB0 cmllcyA9IDEwMDAwMDAwOworICBpbnQgaTsKKworICBmb3IgKGkgPSAwOyBp IDwgdHJpZXM7ICsraSkKKyAgICB7CisgICAgICBjb25zdCBjaGFyICpmID0g cmFuZG9tX2ZpbGVuYW1lKCk7CisgICAgICBjb25zdCBjaGFyICppemVkLCAq YWdhaW47CisgICAgICBzdm5fZXJyb3JfdCAqZXJyOworCisgICAgICAvKlNW Tl9EQkcoKCJmPSclcyciLCBmKSk7Ki8KKworICAgICAgLyogcmVscGF0aCAq LworICAgICAgZXJyID0gc3ZuX3JlbHBhdGhfY2Fub25pY2FsaXplX3NhZmUo Jml6ZWQsIE5VTEwsIGYsIHBvb2wsIHBvb2wpOworICAgICAgaWYgKHJlbHBh dGhfaXNfY2Fub25pY2FsKGYsIHBvb2wpKQorICAgICAgICB7CisgICAgICAg ICAgU1ZOX1RFU1RfQVNTRVJUKCFlcnIpOworICAgICAgICAgIFNWTl9URVNU X1NUUklOR19BU1NFUlQoaXplZCwgZik7CisgICAgICAgIH0KKyAgICAgIGVs c2UgaWYgKCFlcnIpCisgICAgICAgIHsKKyAgICAgICAgICBTVk5fVEVTVF9B U1NFUlQocmVscGF0aF9pc19jYW5vbmljYWwoaXplZCwgcG9vbCkpOworICAg ICAgICAgIFNWTl9FUlIoc3ZuX3JlbHBhdGhfY2Fub25pY2FsaXplX3NhZmUo JmFnYWluLCBOVUxMLCBpemVkLCBwb29sLCBwb29sKSk7CisgICAgICAgICAg U1ZOX1RFU1RfU1RSSU5HX0FTU0VSVChhZ2FpbiwgaXplZCk7CisgICAgICAg IH0KKyAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgIFNWTl9URVNU X0FTU0VSVCghcmVscGF0aF9pc19jYW5vbmljYWwoaXplZCwgcG9vbCkpOwor ICAgICAgICAgIFNWTl9URVNUX0FTU0VSVChlcnItPmFwcl9lcnIgPT0gU1ZO X0VSUl9DQU5PTklDQUxJWkFUSU9OX0ZBSUxFRCk7CisgICAgICAgICAgc3Zu X2Vycm9yX2NsZWFyKGVycik7CisgICAgICAgIH0KKworICAgICAgLyogZGly ZW50ICovCisgICAgICBlcnIgPSBzdm5fZGlyZW50X2Nhbm9uaWNhbGl6ZV9z YWZlKCZpemVkLCBOVUxMLCBmLCBwb29sLCBwb29sKTsKKyAgICAgIGlmIChz dm5fZGlyZW50X2lzX2Nhbm9uaWNhbChmLCBwb29sKSkKKyAgICAgICAgewor ICAgICAgICAgIFNWTl9URVNUX0FTU0VSVCghZXJyKTsKKyAgICAgICAgICBT Vk5fVEVTVF9TVFJJTkdfQVNTRVJUKGl6ZWQsIGYpOworICAgICAgICB9Cisg ICAgICBlbHNlIGlmICghZXJyKQorICAgICAgICB7CisgICAgICAgICAgU1ZO X1RFU1RfQVNTRVJUKHN2bl9kaXJlbnRfaXNfY2Fub25pY2FsKGl6ZWQsIHBv b2wpKTsKKyAgICAgICAgICBTVk5fRVJSKHN2bl9kaXJlbnRfY2Fub25pY2Fs aXplX3NhZmUoJmFnYWluLCBOVUxMLCBpemVkLCBwb29sLCBwb29sKSk7Cisg ICAgICAgICAgU1ZOX1RFU1RfU1RSSU5HX0FTU0VSVChhZ2FpbiwgaXplZCk7 CisgICAgICAgIH0KKyAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAg IFNWTl9URVNUX0FTU0VSVCghc3ZuX2RpcmVudF9pc19jYW5vbmljYWwoaXpl ZCwgcG9vbCkpOworICAgICAgICAgIFNWTl9URVNUX0FTU0VSVChlcnItPmFw cl9lcnIgPT0gU1ZOX0VSUl9DQU5PTklDQUxJWkFUSU9OX0ZBSUxFRCk7Cisg ICAgICAgICAgc3ZuX2Vycm9yX2NsZWFyKGVycik7CisgICAgICAgIH0KKwor ICAgICAgLyogVVJJICovCisgICAgICAvKiBzdm5fdXJpX2Nhbm9uaWNhbGl6 ZSBhc3NlcnRpb24tZmFpbHMgd2hlbiBpbnB1dCBpcyBlbXB0eSBvciBiZWdp bnMgd2l0aCAnLycgKi8KKyAgICAgIGlmIChmWzBdID09ICdcMCcpIGNvbnRp bnVlOyAgLyogIyMjIGtub3duIGZhaWwgKi8KKyAgICAgIGlmIChmWzBdID09 ICcvJykgY29udGludWU7ICAvKiAjIyMga25vd24gZmFpbCAqLworICAgICAg ZXJyID0gc3ZuX3VyaV9jYW5vbmljYWxpemVfc2FmZSgmaXplZCwgTlVMTCwg ZiwgcG9vbCwgcG9vbCk7CisgICAgICBpZiAoc3ZuX3VyaV9pc19jYW5vbmlj YWwoZiwgcG9vbCkpCisgICAgICAgIHsKKyAgICAgICAgICBTVk5fVEVTVF9B U1NFUlQoIWVycik7CisgICAgICAgICAgU1ZOX1RFU1RfU1RSSU5HX0FTU0VS VChpemVkLCBmKTsKKyAgICAgICAgfQorICAgICAgZWxzZSBpZiAoIWVycikK KyAgICAgICAgeworICAgICAgICAgIFNWTl9URVNUX0FTU0VSVChzdm5fdXJp X2lzX2Nhbm9uaWNhbChpemVkLCBwb29sKSk7CisgICAgICAgICAgU1ZOX0VS Uihzdm5fdXJpX2Nhbm9uaWNhbGl6ZV9zYWZlKCZhZ2FpbiwgTlVMTCwgaXpl ZCwgcG9vbCwgcG9vbCkpOworICAgICAgICAgIFNWTl9URVNUX1NUUklOR19B U1NFUlQoYWdhaW4sIGl6ZWQpOworICAgICAgICB9CisgICAgICBlbHNlCisg ICAgICAgIHsKKyAgICAgICAgICBTVk5fVEVTVF9BU1NFUlQoIXN2bl91cmlf aXNfY2Fub25pY2FsKGl6ZWQsIHBvb2wpKTsKKyAgICAgICAgICBTVk5fVEVT VF9BU1NFUlQoZXJyLT5hcHJfZXJyID09IFNWTl9FUlJfQ0FOT05JQ0FMSVpB VElPTl9GQUlMRUQpOworICAgICAgICAgIHN2bl9lcnJvcl9jbGVhcihlcnIp OworICAgICAgICB9CisgICAgfQorCisgIHJldHVybiBTVk5fTk9fRVJST1I7 Cit9CisKK3N0YXRpYyBzdm5fZXJyb3JfdCAqCit0ZXN0X2Nhbm9uaWNhbGl6 ZV9pc19jYW5vbmljYWxfcmFuZG9tKGFwcl9wb29sX3QgKnBvb2wpCit7Cisg IGludCB0cmllcyA9IDEwMDAwMDA7CisgIGludCBpOworCisgIGZvciAoaSA9 IDA7IGkgPCB0cmllczsgKytpKQorICAgIHsKKyAgICAgIGNvbnN0IGNoYXIg KmYgPSByYW5kb21fZmlsZW5hbWUoKTsKKyAgICAgIGNvbnN0IGNoYXIgKml6 ZWQ7CisKKyAgICAgIC8qU1ZOX0RCRygoImY9JyVzJyIsIGYpKTsqLworCisg ICAgICAvKiByZWxwYXRoICovCisgICAgICBpemVkID0gc3ZuX3JlbHBhdGhf Y2Fub25pY2FsaXplKGYsIHBvb2wpOworICAgICAgaWYgKCFzdm5fcmVscGF0 aF9pc19jYW5vbmljYWwoaXplZCkpCisgICAgICAgIHsKKyAgICAgICAgICBT Vk5fREJHKCgibm9uLWMuIHJlbHBhdGg6ICclcycgLT4gJyVzJyIsIGYsIGl6 ZWQpKTsKKyAgICAgICAgICAvKlNWTl9URVNUX0FTU0VSVChzdm5fcmVscGF0 aF9pc19jYW5vbmljYWwoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3ZuX3JlbHBhdGhfY2Fub25pY2FsaXplKGYsIHBvb2wpKSk7Ki8KKyAgICAg ICAgfQorCisgICAgICAvKiBkaXJlbnQgKi8KKyAgICAgIGl6ZWQgPSBzdm5f ZGlyZW50X2Nhbm9uaWNhbGl6ZShmLCBwb29sKTsKKyAgICAgIGlmICghc3Zu X2RpcmVudF9pc19jYW5vbmljYWwoaXplZCwgcG9vbCkpCisgICAgICAgIHsK KyAgICAgICAgICBTVk5fREJHKCgibm9uLWMuIGRpcmVudDogJyVzJyAtPiAn JXMnIiwgZiwgaXplZCkpOworICAgICAgICAgIC8qU1ZOX1RFU1RfQVNTRVJU KHN2bl9kaXJlbnRfaXNfY2Fub25pY2FsKAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN2bl9kaXJlbnRfY2Fub25pY2FsaXplKGYsIHBvb2wpLCBw b29sKSk7Ki8KKyAgICAgICAgfQorCisgICAgICAvKiBVUkkgKi8KKyAgICAg IC8qIHN2bl91cmlfY2Fub25pY2FsaXplIGFzc2VydGlvbi1mYWlscyB3aGVu IGlucHV0IGlzIGVtcHR5IG9yIGJlZ2lucyB3aXRoICcvJyAqLworICAgICAg aWYgKGZbMF0gPT0gJ1wwJykgY29udGludWU7ICAvKiAjIyMga25vd24gZmFp bCAqLworICAgICAgaWYgKGZbMF0gPT0gJy8nKSBjb250aW51ZTsgIC8qICMj IyBrbm93biBmYWlsICovCisgICAgICBpemVkID0gc3ZuX3VyaV9jYW5vbmlj YWxpemUoZiwgcG9vbCk7CisgICAgICBpZiAoIXN2bl91cmlfaXNfY2Fub25p Y2FsKGl6ZWQsIHBvb2wpKQorICAgICAgICB7CisgICAgICAgICAgU1ZOX0RC RygoIm5vbi1jLiBVUkk6ICclcycgLT4gJyVzJyIsIGYsIGl6ZWQpKTsKKyAg ICAgICAgICAvKlNWTl9URVNUX0FTU0VSVChzdm5fdXJpX2lzX2Nhbm9uaWNh bCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdm5fdXJpX2Nhbm9u aWNhbGl6ZShmLCBwb29sKSwgcG9vbCkpOyovCisgICAgICAgIH0KKyAgICB9 CisKKyAgcmV0dXJuIFNWTl9OT19FUlJPUjsKK30KKwogc3RhdGljIHN2bl9l cnJvcl90ICoKIHRlc3RfcmVscGF0aF9pc19jYW5vbmljYWwoYXByX3Bvb2xf dCAqcG9vbCkKIHsKICAgY29uc3QgdGVzdGNhc2VfaXNfY2Fub25pY2FsX3Qg KnQ7CiAgIHN0YXRpYyBjb25zdCB0ZXN0Y2FzZV9pc19jYW5vbmljYWxfdCB0 ZXN0c1tdID0gewogICAgIHsgIiIsICAgICAgICAgICAgICAgICAgICAgIFRS VUUgfSwKQEAgLTMwMTYsMTAgKzMxODYsMTQgQEAgc3RhdGljIHN0cnVjdCBz dm5fdGVzdF9kZXNjcmlwdG9yX3QgdGVzdAogICAgIFNWTl9URVNUX1BBU1My KHRlc3RfZnNwYXRoX2dldF9sb25nZXN0X2FuY2VzdG9yLAogICAgICAgICAg ICAgICAgICAgICJ0ZXN0IHN2bl9mc3BhdGhfX2dldF9sb25nZXN0X2FuY2Vz dG9yIiksCiAgICAgU1ZOX1RFU1RfUEFTUzIodGVzdF9jZXJ0X21hdGNoX2Ru c19pZGVudGl0eSwKICAgICAgICAgICAgICAgICAgICAidGVzdCBzdm5fY2Vy dF9fbWF0Y2hfZG5zX2lkZW50aXR5IiksCiAgICAgU1ZOX1RFU1RfWEZBSUwy KHRlc3RfcnVsZTMsCiAgICAgICAgICAgICAgICAgICAgICJ0ZXN0IG1hdGNo IHdpdGggUkZDIDYxMjUgcy4gNi40LjMgUnVsZSAzIiksCisgICAgU1ZOX1RF U1RfUEFTUzIodGVzdF9jYW5vbmljYWxpemVfc2FmZV9yYW5kb20sCisgICAg ICAgICAgICAgICAgICAgInRlc3RfY2Fub25pY2FsaXplX3NhZmVfcmFuZG9t IiksCisgICAgU1ZOX1RFU1RfUEFTUzIodGVzdF9jYW5vbmljYWxpemVfaXNf Y2Fub25pY2FsX3JhbmRvbSwKKyAgICAgICAgICAgICAgICAgICAidGVzdF9j YW5vbmljYWxpemVfaXNfY2Fub25pY2FsX3JhbmRvbSIpLAogICAgIFNWTl9U RVNUX05VTEwKICAgfTsKIAogU1ZOX1RFU1RfTUFJTgo= --_----------=_154480764533149904--