From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12192 invoked by alias); 5 Nov 2010 17:14:16 -0000 Received: (qmail 12173 invoked by uid 22791); 5 Nov 2010 17:14:13 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.44.51) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 05 Nov 2010 17:14:00 +0000 Received: from hpaq5.eem.corp.google.com (hpaq5.eem.corp.google.com [172.25.149.5]) by smtp-out.google.com with ESMTP id oA5HDvUA008143 for ; Fri, 5 Nov 2010 10:13:57 -0700 Received: from yxd5 (yxd5.prod.google.com [10.190.1.197]) by hpaq5.eem.corp.google.com with ESMTP id oA5HCFVW010304 for ; Fri, 5 Nov 2010 10:13:56 -0700 Received: by yxd5 with SMTP id 5so2486205yxd.4 for ; Fri, 05 Nov 2010 10:13:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.42.173.202 with SMTP id s10mr1474002icz.244.1288977235676; Fri, 05 Nov 2010 10:13:55 -0700 (PDT) Received: by 10.220.188.66 with HTTP; Fri, 5 Nov 2010 10:13:55 -0700 (PDT) In-Reply-To: <831v7168kw.fsf@gnu.org> References: <20101104010740.1942E2460AB@ruffy.mtv.corp.google.com> <831v7168kw.fsf@gnu.org> Date: Fri, 05 Nov 2010 17:14:00 -0000 Message-ID: Subject: Re: [patch, doc RFA] gdb.parameter("directories"), new "set dir" command From: Doug Evans To: Eli Zaretskii Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=90e6ba6e8c9041901404945166c1 X-System-Of-Record: true X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-11/txt/msg00105.txt.bz2 --90e6ba6e8c9041901404945166c1 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 904 Thanks. I added a testcase and checked this in. [I renamed py-param.exp -> py-parameter.exp too.] 2010-11-05 Doug Evans Make gdb.parameter("directories") work. New command "set directories". * NEWS: Document them. * source.c (set_directories_command): New function. (show_directories_1): Renamed from show_directories. All callers updated. (show_directories_command): New function. (_initialize_source): Install "directories" as a set/show variable instead of just a show command. doc/ * gdb.texinfo (Source Path): Document "set directories". testsuite/ * gdb.base/help.exp: Update expected output. * gdb.python/py-param.exp: Delete, contents moved to ... * gdb.python/py-parameter.exp: ... here. New file. Add test for gdb.parameter ("directories"). --90e6ba6e8c9041901404945166c1 Content-Type: text/plain; charset=US-ASCII; name="gdb-101105-dir-param-2.patch.txt" Content-Disposition: attachment; filename="gdb-101105-dir-param-2.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gg5br37i0 Content-length: 28008 MjAxMC0xMS0wNSAgRG91ZyBFdmFucyAgPGRqZUBnb29nbGUuY29tPgoKCU1h a2UgZ2RiLnBhcmFtZXRlcigiZGlyZWN0b3JpZXMiKSB3b3JrLgoJTmV3IGNv bW1hbmQgInNldCBkaXJlY3RvcmllcyIuCgkqIE5FV1M6IERvY3VtZW50IHRo ZW0uCgkqIHNvdXJjZS5jIChzZXRfZGlyZWN0b3JpZXNfY29tbWFuZCk6IE5l dyBmdW5jdGlvbi4KCShzaG93X2RpcmVjdG9yaWVzXzEpOiBSZW5hbWVkIGZy b20gc2hvd19kaXJlY3Rvcmllcy4KCUFsbCBjYWxsZXJzIHVwZGF0ZWQuCgko c2hvd19kaXJlY3Rvcmllc19jb21tYW5kKTogTmV3IGZ1bmN0aW9uLgoJKF9p bml0aWFsaXplX3NvdXJjZSk6IEluc3RhbGwgImRpcmVjdG9yaWVzIiBhcyBh IHNldC9zaG93Cgl2YXJpYWJsZSBpbnN0ZWFkIG9mIGp1c3QgYSBzaG93IGNv bW1hbmQuCgoJZG9jLwoJKiBnZGIudGV4aW5mbyAoU291cmNlIFBhdGgpOiBE b2N1bWVudCAic2V0IGRpcmVjdG9yaWVzIi4KCgl0ZXN0c3VpdGUvCgkqIGdk Yi5iYXNlL2hlbHAuZXhwOiBVcGRhdGUgZXhwZWN0ZWQgb3V0cHV0LgoJKiBn ZGIucHl0aG9uL3B5LXBhcmFtLmV4cDogRGVsZXRlLCBjb250ZW50cyBtb3Zl ZCB0byAuLi4KCSogZ2RiLnB5dGhvbi9weS1wYXJhbWV0ZXIuZXhwOiAuLi4g aGVyZS4gIE5ldyBmaWxlLgoJQWRkIHRlc3QgZm9yIGdkYi5wYXJhbWV0ZXIg KCJkaXJlY3RvcmllcyIpLgoKSW5kZXg6IE5FV1MKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9ORVdTLHYKcmV0 cmlldmluZyByZXZpc2lvbiAxLjQxMApkaWZmIC11IC1wIC1yMS40MTAgTkVX UwotLS0gTkVXUwk1IE5vdiAyMDEwIDE0OjMxOjI1IC0wMDAwCTEuNDEwCisr KyBORVdTCTUgTm92IDIwMTAgMTY6NTI6NTIgLTAwMDAKQEAgLTMsNiArMywx MCBAQAogCiAqKiogQ2hhbmdlcyBzaW5jZSBHREIgNy4yCiAKKyogR0RCIGhh cyBhIG5ldyBjb21tYW5kOiAic2V0IGRpcmVjdG9yaWVzIi4KKyAgSXQgaXMg bGlrZSB0aGUgImRpciIgY29tbWFuZCBleGNlcHQgdGhhdCBpdCByZXBsYWNl cyB0aGUKKyAgc291cmNlIHBhdGggbGlzdCBpbnN0ZWFkIG9mIGF1Z21lbnRp bmcgaXQuCisKICogT3BlbkNMIEMKICAgSW5pdGlhbCBzdXBwb3J0IGZvciB0 aGUgT3BlbkNMIEMgbGFuZ3VhZ2UgKGh0dHA6Ly93d3cua2hyb25vcy5vcmcv b3BlbmNsKQogICBoYXMgYmVlbiBpbnRlZ3JhdGVkIGludG8gR0RCLgpAQCAt MjksNiArMzMsOCBAQAogICAqKiBOZXcgY29tbWFuZHMgImluZm8gcHJldHR5 LXByaW50ZXJzIiwgImVuYWJsZSBwcmV0dHktcHJpbnRlciIgYW5kCiAgICAg ICJkaXNhYmxlIHByZXR0eS1wcmludGVyIiBoYXZlIGJlZW4gYWRkZWQuCiAK KyAgKiogZ2RiLnBhcmFtZXRlcigiZGlyZWN0b3JpZXMiKSBpcyBub3cgYXZh aWxhYmxlLgorCiAqIEMrKyBJbXByb3ZlbWVudHM6CiAKICAgKiogR0RCIG5v dyBwdXRzIHRlbXBsYXRlIHBhcmFtZXRlcnMgaW4gc2NvcGUgd2hlbiBkZWJ1 Z2dpbmcgaW4gYW4KSW5kZXg6IHNvdXJjZS5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvc291cmNlLmMsdgpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMTE0CmRpZmYgLXUgLXAgLXIxLjExNCBz b3VyY2UuYwotLS0gc291cmNlLmMJOSBKdWwgMjAxMCAwMjozOTo1OCAtMDAw MAkxLjExNAorKysgc291cmNlLmMJNSBOb3YgMjAxMCAxNjo1Mjo1MiAtMDAw MApAQCAtNjgsOCArNjgsNiBAQCBzdGF0aWMgdm9pZCBsaW5lX2luZm8gKGNo YXIgKiwgaW50KTsKIAogc3RhdGljIHZvaWQgc291cmNlX2luZm8gKGNoYXIg KiwgaW50KTsKIAotc3RhdGljIHZvaWQgc2hvd19kaXJlY3RvcmllcyAoY2hh ciAqLCBpbnQpOwotCiAvKiBQYXRoIG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJj aCBmb3Igc291cmNlIGZpbGVzLgogICAgU2FtZSBmb3JtYXQgYXMgdGhlIFBB VEggZW52aXJvbm1lbnQgdmFyaWFibGUncyB2YWx1ZS4gICovCiAKQEAgLTI5 MywxNCArMjkxLDQ5IEBAIHNlbGVjdF9zb3VyY2Vfc3ltdGFiIChzdHJ1Y3Qg c3ltdGFiICpzKQogICBlcnJvciAoXygiQ2FuJ3QgZmluZCBhIGRlZmF1bHQg c291cmNlIGZpbGUiKSk7CiB9CiAMCisvKiBIYW5kbGVyIGZvciAic2V0IGRp cmVjdG9yaWVzIHBhdGgtbGlzdCIgY29tbWFuZC4KKyAgICJzZXQgZGlyIG11 bWJsZSIgZG9lc24ndCBwcmVwZW5kIHBhdGhzLCBpdCByZXNldHMgdGhlIGVu dGlyZQorICAgcGF0aCBsaXN0LiAgVGhlIHRoZW9yeSBpcyB0aGF0IHNldChz aG93KGRpcikpIHNob3VsZCBiZSBhIG5vLW9wLiAgKi8KKworc3RhdGljIHZv aWQKK3NldF9kaXJlY3Rvcmllc19jb21tYW5kIChjaGFyICphcmdzLCBpbnQg ZnJvbV90dHksIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjKQoreworICAv KiBUaGlzIGlzIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuCisgICAgIEl0IG5l ZWRzIHRvIGJlIHByb2Nlc3NlZCB0byBtYWludGFpbiAkY2RpcjokY3dkIGFu ZCByZW1vdmUgZHVwcy4gICovCisgIGNoYXIgKnNldF9wYXRoID0gc291cmNl X3BhdGg7CisKKyAgLyogV2UgcHJlc2VydmUgdGhlIGludmFyaWFudCB0aGF0 ICRjZGlyOiRjd2QgYmVnaW5zIGxpZmUgYXQgdGhlIGVuZCBvZgorICAgICB0 aGUgbGlzdCBieSBjYWxsaW5nIGluaXRfc291cmNlX3BhdGguICBJZiB0aGV5 IGFwcGVhciBlYXJsaWVyIGluCisgICAgIFNFVF9QQVRIIHRoZW4gbW9kX3Bh dGggd2lsbCBtb3ZlIHRoZW0gYXBwcm9wcmlhdGVseS4KKyAgICAgbW9kX3Bh dGggd2lsbCBhbHNvIHJlbW92ZSBkdXBsaWNhdGVzLiAgKi8KKyAgaW5pdF9z b3VyY2VfcGF0aCAoKTsKKyAgaWYgKCpzZXRfcGF0aCAhPSAnXDAnKQorICAg IG1vZF9wYXRoIChzZXRfcGF0aCwgJnNvdXJjZV9wYXRoKTsKKworICB4ZnJl ZSAoc2V0X3BhdGgpOworfQorCisvKiBQcmludCB0aGUgbGlzdCBvZiBzb3Vy Y2UgZGlyZWN0b3JpZXMuCisgICBUaGlzIGlzIHVzZWQgYnkgdGhlICJsZCIg Y29tbWFuZCwgc28gaXQgaGFzIHRoZSBzaWduYXR1cmUgb2YgYSBjb21tYW5k CisgICBmdW5jdGlvbi4gICovCisKIHN0YXRpYyB2b2lkCi1zaG93X2RpcmVj dG9yaWVzIChjaGFyICppZ25vcmUsIGludCBmcm9tX3R0eSkKK3Nob3dfZGly ZWN0b3JpZXNfMSAoY2hhciAqaWdub3JlLCBpbnQgZnJvbV90dHkpCiB7CiAg IHB1dHNfZmlsdGVyZWQgKCJTb3VyY2UgZGlyZWN0b3JpZXMgc2VhcmNoZWQ6 ICIpOwogICBwdXRzX2ZpbHRlcmVkIChzb3VyY2VfcGF0aCk7CiAgIHB1dHNf ZmlsdGVyZWQgKCJcbiIpOwogfQogCisvKiBIYW5kbGVyIGZvciAic2hvdyBk aXJlY3RvcmllcyIgY29tbWFuZC4gICovCisKK3N0YXRpYyB2b2lkCitzaG93 X2RpcmVjdG9yaWVzX2NvbW1hbmQgKHN0cnVjdCB1aV9maWxlICpmaWxlLCBp bnQgZnJvbV90dHksCisJCQkgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpj LCBjb25zdCBjaGFyICp2YWx1ZSkKK3sKKyAgc2hvd19kaXJlY3Rvcmllc18x IChOVUxMLCBmcm9tX3R0eSk7Cit9CisKIC8qIEZvcmdldCB3aGF0IHdlIGxl YXJuZWQgYWJvdXQgbGluZSBwb3NpdGlvbnMgaW4gc291cmNlIGZpbGVzLCBh bmQKICAgIHdoaWNoIGRpcmVjdG9yaWVzIGNvbnRhaW4gdGhlbTsgbXVzdCBj aGVjayBhZ2FpbiBub3cgc2luY2UgZmlsZXMKICAgIG1heSBiZSBmb3VuZCBp biBhIGRpZmZlcmVudCBkaXJlY3Rvcnkgbm93LiAgKi8KQEAgLTM2Nyw3ICs0 MDAsNyBAQCBkaXJlY3RvcnlfY29tbWFuZCAoY2hhciAqZGlybmFtZSwgaW50 IGZyCiAgICAgICBmb3JnZXRfY2FjaGVkX3NvdXJjZV9pbmZvICgpOwogICAg IH0KICAgaWYgKGZyb21fdHR5KQotICAgIHNob3dfZGlyZWN0b3JpZXMgKChj aGFyICopIDAsIGZyb21fdHR5KTsKKyAgICBzaG93X2RpcmVjdG9yaWVzXzEg KChjaGFyICopIDAsIGZyb21fdHR5KTsKIH0KIAogLyogQWRkIGEgcGF0aCBn aXZlbiB3aXRoIHRoZSAtZCBjb21tYW5kIGxpbmUgc3dpdGNoLgpAQCAtMTkz OCwxNiArMTk3MSwyNyBAQCBXaXRoIG5vIGFyZ3VtZW50LCByZXNldCB0aGUg c2VhcmNoIHBhdGggCiAKICAgc2V0X2NtZF9jb21wbGV0ZXIgKGMsIGZpbGVu YW1lX2NvbXBsZXRlcik7CiAKLSAgYWRkX2NtZCAoImRpcmVjdG9yaWVzIiwg bm9fY2xhc3MsIHNob3dfZGlyZWN0b3JpZXMsIF8oIlwKLUN1cnJlbnQgc2Vh cmNoIHBhdGggZm9yIGZpbmRpbmcgc291cmNlIGZpbGVzLlxuXAorICBhZGRf c2V0c2hvd19vcHRpb25hbF9maWxlbmFtZV9jbWQgKCJkaXJlY3RvcmllcyIs CisJCQkJICAgICBjbGFzc19maWxlcywKKwkJCQkgICAgICZzb3VyY2VfcGF0 aCwKKwkJCQkgICAgIF8oIlwKK1NldCB0aGUgc2VhcmNoIHBhdGggZm9yIGZp bmRpbmcgc291cmNlIGZpbGVzLiIpLAorCQkJCSAgICAgXygiXAorU2hvdyB0 aGUgc2VhcmNoIHBhdGggZm9yIGZpbmRpbmcgc291cmNlIGZpbGVzLiIpLAor CQkJCSAgICAgXygiXAogJGN3ZCBpbiB0aGUgcGF0aCBtZWFucyB0aGUgY3Vy cmVudCB3b3JraW5nIGRpcmVjdG9yeS5cblwKLSRjZGlyIGluIHRoZSBwYXRo IG1lYW5zIHRoZSBjb21waWxhdGlvbiBkaXJlY3Rvcnkgb2YgdGhlIHNvdXJj ZSBmaWxlLiIpLAotCSAgICZzaG93bGlzdCk7CiskY2RpciBpbiB0aGUgcGF0 aCBtZWFucyB0aGUgY29tcGlsYXRpb24gZGlyZWN0b3J5IG9mIHRoZSBzb3Vy Y2UgZmlsZS5cblwKK0dEQiBlbnN1cmVzIHRoZSBzZWFyY2ggcGF0aCBhbHdh eXMgZW5kcyB3aXRoICRjZGlyOiRjd2QgYnlcblwKK2FwcGVuZGluZyB0aGVz ZSBkaXJlY3RvcmllcyBpZiBuZWNlc3NhcnkuXG5cCitTZXR0aW5nIHRoZSB2 YWx1ZSB0byBhbiBlbXB0eSBzdHJpbmcgc2V0cyBpdCB0byAkY2RpcjokY3dk LCB0aGUgZGVmYXVsdC4iKSwKKwkJCSAgICBzZXRfZGlyZWN0b3JpZXNfY29t bWFuZCwKKwkJCSAgICBzaG93X2RpcmVjdG9yaWVzX2NvbW1hbmQsCisJCQkg ICAgJnNldGxpc3QsICZzaG93bGlzdCk7CiAKICAgaWYgKHhkYl9jb21tYW5k cykKICAgICB7CiAgICAgICBhZGRfY29tX2FsaWFzICgiRCIsICJkaXJlY3Rv cnkiLCBjbGFzc19maWxlcywgMCk7Ci0gICAgICBhZGRfY21kICgibGQiLCBu b19jbGFzcywgc2hvd19kaXJlY3RvcmllcywgXygiXAorICAgICAgYWRkX2Nt ZCAoImxkIiwgbm9fY2xhc3MsIHNob3dfZGlyZWN0b3JpZXNfMSwgXygiXAog Q3VycmVudCBzZWFyY2ggcGF0aCBmb3IgZmluZGluZyBzb3VyY2UgZmlsZXMu XG5cCiAkY3dkIGluIHRoZSBwYXRoIG1lYW5zIHRoZSBjdXJyZW50IHdvcmtp bmcgZGlyZWN0b3J5LlxuXAogJGNkaXIgaW4gdGhlIHBhdGggbWVhbnMgdGhl IGNvbXBpbGF0aW9uIGRpcmVjdG9yeSBvZiB0aGUgc291cmNlIGZpbGUuIiks CkluZGV4OiBkb2MvZ2RiLnRleGluZm8KPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9kb2MvZ2RiLnRleGluZm8s dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNzcyCmRpZmYgLXUgLXAgLXIxLjc3 MiBnZGIudGV4aW5mbwotLS0gZG9jL2dkYi50ZXhpbmZvCTUgTm92IDIwMTAg MTQ6MzE6MjggLTAwMDAJMS43NzIKKysrIGRvYy9nZGIudGV4aW5mbwk1IE5v diAyMDEwIDE2OjUyOjUzIC0wMDAwCkBAIC02NjIzLDYgKzY2MjMsMTEgQEAg UmVzZXQgdGhlIHNvdXJjZSBwYXRoIHRvIGl0cyBkZWZhdWx0IHZhbAogQGMg UkVULXJlcGVhdCBmb3IgQGNvZGV7ZGlyZWN0b3J5fSBpcyBleHBsaWNpdGx5 IGRpc2FibGVkLCBidXQgc2luY2UKIEBjIHJlcGVhdGluZyBpdCB3b3VsZCBi ZSBhIG5vLW9wIHdlIGRvIG5vdCBzYXkgdGhhdC4gICh0aGFua3MgdG8gUk1T KQogCitAaXRlbSBzZXQgZGlyZWN0b3JpZXMgQHZhcntwYXRoLWxpc3R9CitA a2luZGV4IHNldCBkaXJlY3RvcmllcworU2V0IHRoZSBzb3VyY2UgcGF0aCB0 byBAdmFye3BhdGgtbGlzdH0uCitAc2FtcHskY2RpcjokY3dkfSBhcmUgYWRk ZWQgaWYgbWlzc2luZy4KKwogQGl0ZW0gc2hvdyBkaXJlY3RvcmllcwogQGtp bmRleCBzaG93IGRpcmVjdG9yaWVzCiBQcmludCB0aGUgc291cmNlIHBhdGg6 IHNob3cgd2hpY2ggZGlyZWN0b3JpZXMgaXQgY29udGFpbnMuCkluZGV4OiB0 ZXN0c3VpdGUvZ2RiLmJhc2UvaGVscC5leHAKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvaGVscC5leHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDYKZGlm ZiAtdSAtcCAtcjEuNDYgaGVscC5leHAKLS0tIHRlc3RzdWl0ZS9nZGIuYmFz ZS9oZWxwLmV4cAkxNiBBdWcgMjAxMCAxOToxOToyMiAtMDAwMAkxLjQ2Cisr KyB0ZXN0c3VpdGUvZ2RiLmJhc2UvaGVscC5leHAJNSBOb3YgMjAxMCAxNjo1 Mjo1MyAtMDAwMApAQCAtNTA3LDcgKzUwNyw3IEBAIGdkYl90ZXN0ICJoZWxw IHNob3cgY29uZmlybSIgIlNob3cgd2hldGgKICMgdGVzdCBoZWxwIHNob3cg Y29udmVuaWVuY2UKIGdkYl90ZXN0ICJoZWxwIHNob3cgY29udmVuaWVuY2Ui ICJEZWJ1Z2dlciBjb252ZW5pZW5jZSBcXChcIlxcXCRmb29cIlxcKSB2YXJp YWJsZXNcLlxbXHJcblxdK1RoZXNlIHZhcmlhYmxlcyBhcmUgY3JlYXRlZCB3 aGVuIHlvdSBhc3NpZ24gdGhlbSB2YWx1ZXM7XFtcclxuXF0rdGh1cywgXCJw cmludCBcXFwkZm9vPTFcIiBnaXZlcyBcIlxcXCRmb29cIiB0aGUgdmFsdWUg MVwuICBWYWx1ZXMgbWF5IGJlIGFueSB0eXBlXC5cW1xyXG5cXStBIGZldyBj b252ZW5pZW5jZSB2YXJpYWJsZXMgYXJlIGdpdmVuIHZhbHVlcyBhdXRvbWF0 aWNhbGx5OlxbXHJcblxdK1wiXFxcJF9cImhvbGRzIHRoZSBsYXN0IGFkZHJl c3MgZXhhbWluZWQgd2l0aCBcInhcIiBvciBcImluZm8gbGluZXNcIixcW1xy XG5cXStcIlxcXCRfX1wiIGhvbGRzIHRoZSBjb250ZW50cyBvZiB0aGUgbGFz dCBhZGRyZXNzIGV4YW1pbmVkIHdpdGggXCJ4XCJcLiIgImhlbHAgc2hvdyBj b252ZW5pZW5jZSIKICMgdGVzdCBoZWxwIHNob3cgZGlyZWN0b3JpZXMKLWdk Yl90ZXN0ICJoZWxwIHNob3cgZGlyZWN0b3JpZXMiICJDdXJyZW50IHNlYXJj aCBwYXRoIGZvciBmaW5kaW5nIHNvdXJjZSBmaWxlc1wuXFtcclxuXF0rXFxc JGN3ZCBpbiB0aGUgcGF0aCBtZWFucyB0aGUgY3VycmVudCB3b3JraW5nIGRp cmVjdG9yeVwuXFtcclxuXF0rXFxcJGNkaXIgaW4gdGhlIHBhdGggbWVhbnMg dGhlIGNvbXBpbGF0aW9uIGRpcmVjdG9yeSBvZiB0aGUgc291cmNlIGZpbGVc LiIgImhlbHAgc2hvdyBkaXJlY3RvcmllcyIKK2dkYl90ZXN0ICJoZWxwIHNo b3cgZGlyZWN0b3JpZXMiICJTaG93IHRoZSBzZWFyY2ggcGF0aCBmb3IgZmlu ZGluZyBzb3VyY2UgZmlsZXNcLlxbXHJcblxdK1xcXCRjd2QgaW4gdGhlIHBh dGggbWVhbnMgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcLlxbXHJc blxdK1xcXCRjZGlyIGluIHRoZSBwYXRoIG1lYW5zIHRoZSBjb21waWxhdGlv biBkaXJlY3Rvcnkgb2YgdGhlIHNvdXJjZSBmaWxlXC4uKiIgImhlbHAgc2hv dyBkaXJlY3RvcmllcyIKICMgdGVzdCBoZWxwIHNob3cgZWRpdGluZwogZ2Ri X3Rlc3QgImhlbHAgc2hvdyBlZGl0aW5nIiAiU2hvdyBlZGl0aW5nIG9mIGNv bW1hbmQgbGluZXMgYXMgdGhleSBhcmUgdHlwZWRcLlxbXHJcblxdK1VzZSBc Im9uXCIgdG8gZW5hYmxlIHRoZSBlZGl0aW5nLCBhbmQgXCJvZmZcIiB0byBk aXNhYmxlIGl0XC5cW1xyXG5cXStXaXRob3V0IGFuIGFyZ3VtZW50LCBjb21t YW5kIGxpbmUgZWRpdGluZyBpcyBlbmFibGVkXC4gIFRvIGVkaXQsIHVzZVxb XHJcblxdK0VNQUNTLWxpa2Ugb3IgVkktbGlrZSBjb21tYW5kcyBsaWtlIGNv bnRyb2wtUCBvciBFU0NcLiIgImhlbHAgc2hvdyBlZGl0aW5nIgogIyB0ZXN0 IGhlbHAgc2hvdyBlbnZpcm9ubWVudApJbmRleDogcHktcGFyYW0uZXhwCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IHB5LXBhcmFtLmV4cApk aWZmIC1OIHB5LXBhcmFtLmV4cAotLS0gcHktcGFyYW0uZXhwCTEgT2N0IDIw MTAgMTc6MDM6NTAgLTAwMDAJMS4yCisrKyAvZGV2L251bGwJMSBKYW4gMTk3 MCAwMDowMDowMCAtMDAwMApAQCAtMSwxMTMgKzAsMCBAQAotIyBDb3B5cmln aHQgKEMpIDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0K LSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKLSMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSMgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCi0KLSMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhl IEdEQiB0ZXN0c3VpdGUuICBJdCB0ZXN0cyB0aGUgbWVjaGFuaXNtCi0jIGV4 cG9zaW5nIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyB0byBQeXRob24uCi0KLWlm ICR0cmFjZWxldmVsIHRoZW4gewotICAgIHN0cmFjZSAkdHJhY2VsZXZlbAot fQotCi1sb2FkX2xpYiBnZGItcHl0aG9uLmV4cAotCi0jIFN0YXJ0IHdpdGgg YSBmcmVzaCBnZGIuCi1nZGJfZXhpdAotZ2RiX3N0YXJ0Ci1nZGJfcmVpbml0 aWFsaXplX2RpciAkc3JjZGlyLyRzdWJkaXIKLQotIyBTa2lwIGFsbCB0ZXN0 cyBpZiBQeXRob24gc2NyaXB0aW5nIGlzIG5vdCBlbmFibGVkLgotaWYgeyBb c2tpcF9weXRob25fdGVzdHNdIH0geyBjb250aW51ZSB9Ci0KLSMgVGVzdCBh IHNpbXBsZSBib29sZWFuIHBhcmFtZXRlci4KLWdkYl9weV90ZXN0X211bHRp cGxlICJTaW1wbGUgZ2RiIGJvb2xlYW5wYXJhbWV0ZXIiIFwKLSAgICJweXRo b24iICIiIFwKLSAgICJjbGFzcyBUZXN0UGFyYW0gKGdkYi5QYXJhbWV0ZXIp OiIgIiIgXAotICAgIiAgIFwiXCJcIldoZW4gZW5hYmxlZCwgdGVzdCBwYXJh bSBkb2VzIHNvbWV0aGluZyB1c2VmdWwuIFdoZW4gZGlzYWJsZWQsIGRvZXMg bm90aGluZy5cIlwiXCIiICIiIFwKLSAgICIgICBzaG93X2RvYyA9IFwiU2hv dyB3aGV0aGVyIHRoZSBzdGF0ZSBvZiB0aGUgVGVzdCBQYXJhbWV0ZXIgZG9l cyBzb21ldGhpbmcgdXNlZnVsXCIiICIiXAotICAgIiAgIHNldF9kb2MgPSBc IlNldCB3aGV0aGVyIHRoZSBzdGF0ZSBvZiB0aGUgVGVzdCBQYXJhbWV0ZXIg ZG9lcyBzb21ldGhpbmcgdXNlZnVsXCIiICIiIFwKLSAgICIgICBkZWYgX19p bml0X18gKHNlbGYsIG5hbWUpOiIgIiIgXAotICAgIiAgICAgIHN1cGVyIChU ZXN0UGFyYW0sIHNlbGYpLl9faW5pdF9fIChuYW1lLCBnZGIuQ09NTUFORF9E QVRBLCBnZGIuUEFSQU1fQk9PTEVBTikiICIiIFwKLSAgICIgICAgICBzZWxm LnZhbHVlID0gVHJ1ZSIgIiIgXAotICAgInRlc3RfcGFyYW0gPSBUZXN0UGFy YW0gKCdwcmludCB0ZXN0LXBhcmFtJykiICIiXAotICAgImVuZCIKLQotZ2Ri X3Rlc3QgInB5dGhvbiBwcmludCB0ZXN0X3BhcmFtLnZhbHVlIiAiVHJ1ZSIg IlRlc3QgcGFyYW1ldGVyIHZhbHVlIgotZ2RiX3Rlc3QgInNob3cgcHJpbnQg dGVzdC1wYXJhbSIgIldoZXRoZXIgdGhlIHN0YXRlIG9mIHRoZSBUZXN0IFBh cmFtZXRlciBkb2VzIHNvbWV0aGluZyB1c2VmdWwgaXMgb24uKiIgIlNob3cg cGFyYW1ldGVyIG9uIgotZ2RiX3B5X3Rlc3Rfc2lsZW50X2NtZCAic2V0IHBy aW50IHRlc3QtcGFyYW0gb2ZmIiAiVHVybiBvZmYgcGFyYW1ldGVyIiAxCi1n ZGJfdGVzdCAic2hvdyBwcmludCB0ZXN0LXBhcmFtIiAiV2hldGhlciB0aGUg c3RhdGUgb2YgdGhlIFRlc3QgUGFyYW1ldGVyIGRvZXMgc29tZXRoaW5nIHVz ZWZ1bCBpcyBvZmYuKiIgIlNob3cgcGFyYW1ldGVyIG9mZiIKLWdkYl90ZXN0 ICJweXRob24gcHJpbnQgdGVzdF9wYXJhbS52YWx1ZSIgIkZhbHNlIiAiVGVz dCBwYXJhbWV0ZXIgdmFsdWUiCi1nZGJfdGVzdCAiaGVscCBzaG93IHByaW50 IHRlc3QtcGFyYW0iICJTaG93IHdoZXRoZXIgdGhlIHN0YXRlIG9mIHRoZSBU ZXN0IFBhcmFtZXRlciBkb2VzIHNvbWV0aGluZyB1c2VmdWwuKiIgIlRlc3Qg c2hvdyBoZWxwIgotZ2RiX3Rlc3QgImhlbHAgc2V0IHByaW50IHRlc3QtcGFy YW0iICJTZXQgd2hldGhlciB0aGUgc3RhdGUgb2YgdGhlIFRlc3QgUGFyYW1l dGVyIGRvZXMgc29tZXRoaW5nIHVzZWZ1bC4qIiAiVGVzdCBzZXQgaGVscCIK LWdkYl90ZXN0ICJoZWxwIHNldCBwcmludCIgInNldCBwcmludCB0ZXN0LXBh cmFtIC0tIFNldCB3aGV0aGVyIHRoZSBzdGF0ZSBvZiB0aGUgVGVzdCBQYXJh bWV0ZXIuKiIgIlRlc3QgZ2VuZXJhbCBoZWxwIgotCi0jIFRlc3QgYW4gZW51 bSBwYXJhbWV0ZXIuCi1nZGJfcHlfdGVzdF9tdWx0aXBsZSAiZW51bSBnZGIg cGFyYW1ldGVyIiBcCi0gICAicHl0aG9uIiAiIiBcCi0gICAiY2xhc3MgVGVz dEVudW1QYXJhbSAoZ2RiLlBhcmFtZXRlcik6IiAiIiBcCi0gICAiICAgXCJc IlwiV2hlbiBzZXQsIHRlc3QgcGFyYW0gZG9lcyBzb21ldGhpbmcgdXNlZnVs LiBXaGVuIGRpc2FibGVkLCBkb2VzIG5vdGhpbmcuXCJcIlwiIiAiIiBcCi0g ICAiICAgc2hvd19kb2MgPSBcIlNob3cgdGhlIHN0YXRlIG9mIHRoZSBlbnVt XCIiICIiXAotICAgIiAgIHNldF9kb2MgPSBcIlNldCB0aGUgc3RhdGUgb2Yg dGhlIGVudW1cIiIgIiIgXAotICAgIiAgIGRlZiBfX2luaXRfXyAoc2VsZiwg bmFtZSk6IiAiIiBcCi0gICAiICAgICAgc3VwZXIgKFRlc3RFbnVtUGFyYW0s IHNlbGYpLl9faW5pdF9fIChuYW1lLCBnZGIuQ09NTUFORF9EQVRBLCBnZGIu UEFSQU1fRU5VTSwgXFtcIm9uZVwiLCBcInR3b1wiXF0pIiAiIiBcCi0gICAi ICAgICAgc2VsZi52YWx1ZSA9IFwib25lXCIiICIiIFwKLSAgICJ0ZXN0X2Vu dW1fcGFyYW0gPSBUZXN0RW51bVBhcmFtICgncHJpbnQgdGVzdC1lbnVtLXBh cmFtJykiICIiXAotICAgImVuZCIKLQotZ2RiX3Rlc3QgInB5dGhvbiBwcmlu dCB0ZXN0X2VudW1fcGFyYW0udmFsdWUiICJvbmUiICJUZXN0IGVudW0gcGFy YW1ldGVyIHZhbHVlIgotZ2RiX3Rlc3QgInNob3cgcHJpbnQgdGVzdC1lbnVt LXBhcmFtIiAiVGhlIHN0YXRlIG9mIHRoZSBlbnVtIGlzIFwib25lXCIuKiIg IlNob3cgcGFyYW1ldGVyIGlzIGluaXRpYWwgdmFsdWUiCi1nZGJfcHlfdGVz dF9zaWxlbnRfY21kICJzZXQgcHJpbnQgdGVzdC1lbnVtLXBhcmFtIHR3byIg IlNldCBwYXJhbWV0ZXIgdG8gZW51bSB2YWx1ZSIgMQotZ2RiX3Rlc3QgInNo b3cgcHJpbnQgdGVzdC1lbnVtLXBhcmFtIiAiVGhlIHN0YXRlIG9mIHRoZSBl bnVtIGlzIFwidHdvXCIuKiIgIlNob3cgcGFyYW1ldGVyIGlzIG5ldyB2YWx1 ZSIKLWdkYl90ZXN0ICJweXRob24gcHJpbnQgdGVzdF9lbnVtX3BhcmFtLnZh bHVlIiAidHdvIiAiVGVzdCBlbnVtIHBhcmFtZXRlciB2YWx1ZSIKLWdkYl90 ZXN0ICJzZXQgcHJpbnQgdGVzdC1lbnVtLXBhcmFtIHRocmVlIiAiVW5kZWZp bmVkIGl0ZW06IFwidGhyZWVcIi4qIiAiU2V0IGludmFsaWQgZW51bSBwYXJh bWV0ZXIiIAotCi0jIFRlc3QgYSBmaWxlIHBhcmFtZXRlci4KLWdkYl9weV90 ZXN0X211bHRpcGxlICJmaWxlIGdkYiBwYXJhbWV0ZXIiIFwKLSAgICJweXRo b24iICIiIFwKLSAgICJjbGFzcyBUZXN0RmlsZVBhcmFtIChnZGIuUGFyYW1l dGVyKToiICIiIFwKLSAgICIgICBcIlwiXCJXaGVuIHNldCwgdGVzdCBwYXJh bSBkb2VzIHNvbWV0aGluZyB1c2VmdWwuIFdoZW4gZGlzYWJsZWQsIGRvZXMg bm90aGluZy5cIlwiXCIiICIiIFwKLSAgICIgICBzaG93X2RvYyA9IFwiU2hv dyB0aGUgbmFtZSBvZiB0aGUgZmlsZVwiIiAiIlwKLSAgICIgICBzZXRfZG9j ID0gXCJTZXQgdGhlIG5hbWUgb2YgdGhlIGZpbGVcIiIgIiIgXAotICAgIiAg IGRlZiBfX2luaXRfXyAoc2VsZiwgbmFtZSk6IiAiIiBcCi0gICAiICAgICAg c3VwZXIgKFRlc3RGaWxlUGFyYW0sIHNlbGYpLl9faW5pdF9fIChuYW1lLCBn ZGIuQ09NTUFORF9GSUxFUywgZ2RiLlBBUkFNX0ZJTEVOQU1FKSIgIiIgXAot ICAgIiAgICAgIHNlbGYudmFsdWUgPSBcImZvby50eHRcIiIgIiIgXAotICAg InRlc3RfZmlsZV9wYXJhbSA9IFRlc3RGaWxlUGFyYW0gKCd0ZXN0LWZpbGUt cGFyYW0nKSIgIiJcCi0gICAiZW5kIgotCi1nZGJfdGVzdCAicHl0aG9uIHBy aW50IHRlc3RfZmlsZV9wYXJhbS52YWx1ZSIgImZvby50eHQiICJUZXN0IGZp bGUgcGFyYW1ldGVyIHZhbHVlIgotZ2RiX3Rlc3QgInNob3cgdGVzdC1maWxl LXBhcmFtIiAiVGhlIG5hbWUgb2YgdGhlIGZpbGUgaXMgXCJmb28udHh0XCIu KiIgIlNob3cgaW5pdGlhbCBmaWxlIHZhbHVlIgotZ2RiX3B5X3Rlc3Rfc2ls ZW50X2NtZCAic2V0IHRlc3QtZmlsZS1wYXJhbSBiYXIudHh0IiAiU2V0IG5l dyBmaWxlIHBhcmFtZXRlciIgMQotZ2RiX3Rlc3QgInNob3cgdGVzdC1maWxl LXBhcmFtIiAiVGhlIG5hbWUgb2YgdGhlIGZpbGUgaXMgXCJiYXIudHh0XCIu KiIgIlNob3cgbmV3IGZpbGUgdmFsdWUiCi1nZGJfdGVzdCAicHl0aG9uIHBy aW50IHRlc3RfZmlsZV9wYXJhbS52YWx1ZSIgImJhci50eHQiICJUZXN0IG5l dyBmaWxlIHBhcmFtZXRlciB2YWx1ZSIKLWdkYl90ZXN0ICJzZXQgdGVzdC1m aWxlLXBhcmFtIiAiQXJndW1lbnQgcmVxdWlyZWQuKiIgCi0KLSMgVGVzdCBh IGZpbGUgcGFyYW1ldGVyLgotZ2RiX3B5X3Rlc3RfbXVsdGlwbGUgImZpbGUg Z2RiIHBhcmFtZXRlciIgXAotICAgInB5dGhvbiIgIiIgXAotICAgImNsYXNz IFRlc3RGaWxlUGFyYW0gKGdkYi5QYXJhbWV0ZXIpOiIgIiIgXAotICAgIiAg IFwiXCJcIldoZW4gc2V0LCB0ZXN0IHBhcmFtIGRvZXMgc29tZXRoaW5nIHVz ZWZ1bC4gV2hlbiBkaXNhYmxlZCwgZG9lcyBub3RoaW5nLlwiXCJcIiIgIiIg XAotICAgIiAgIHNob3dfZG9jID0gXCJTaG93IHRoZSBuYW1lIG9mIHRoZSBm aWxlXCIiICIiXAotICAgIiAgIHNldF9kb2MgPSBcIlNldCB0aGUgbmFtZSBv ZiB0aGUgZmlsZVwiIiAiIiBcCi0gICAiICAgZGVmIF9faW5pdF9fIChzZWxm LCBuYW1lKToiICIiIFwKLSAgICIgICAgICBzdXBlciAoVGVzdEZpbGVQYXJh bSwgc2VsZikuX19pbml0X18gKG5hbWUsIGdkYi5DT01NQU5EX0ZJTEVTLCBn ZGIuUEFSQU1fRklMRU5BTUUpIiAiIiBcCi0gICAiICAgICAgc2VsZi52YWx1 ZSA9IFwiZm9vLnR4dFwiIiAiIiBcCi0gICAidGVzdF9maWxlX3BhcmFtID0g VGVzdEZpbGVQYXJhbSAoJ3Rlc3QtZmlsZS1wYXJhbScpIiAiIlwKLSAgICJl bmQiCi0KLWdkYl90ZXN0ICJweXRob24gcHJpbnQgdGVzdF9maWxlX3BhcmFt LnZhbHVlIiAiZm9vLnR4dCIgIlRlc3QgcGFyYW1ldGVyIHZhbHVlIgotZ2Ri X3Rlc3QgInNob3cgdGVzdC1maWxlLXBhcmFtIiAiVGhlIG5hbWUgb2YgdGhl IGZpbGUgaXMgXCJmb28udHh0XCIuKiIgIlNob3cgcGFyYW1ldGVyIG9uIgot Z2RiX3B5X3Rlc3Rfc2lsZW50X2NtZCAic2V0IHRlc3QtZmlsZS1wYXJhbSBi YXIudHh0IiAiVHVybiBvZmYgcGFyYW1ldGVyIiAxCi1nZGJfdGVzdCAic2hv dyB0ZXN0LWZpbGUtcGFyYW0iICJUaGUgbmFtZSBvZiB0aGUgZmlsZSBpcyBc ImJhci50eHRcIi4qIiAiU2hvdyBwYXJhbWV0ZXIgb24iCi1nZGJfdGVzdCAi cHl0aG9uIHByaW50IHRlc3RfZmlsZV9wYXJhbS52YWx1ZSIgImJhci50eHQi ICJUZXN0IHBhcmFtZXRlciB2YWx1ZSIKLWdkYl90ZXN0ICJzZXQgdGVzdC1m aWxlLXBhcmFtIiAiQXJndW1lbnQgcmVxdWlyZWQuKiIgCkluZGV4OiB0ZXN0 c3VpdGUvZ2RiLnB5dGhvbi9weS1wYXJhbWV0ZXIuZXhwCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KUkNTIGZpbGU6IHRlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LXBhcmFtZXRlci5leHAKZGlmZiAtTiB0ZXN0c3VpdGUvZ2RiLnB5dGhvbi9w eS1wYXJhbWV0ZXIuZXhwCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDow MDowMCAtMDAwMAorKysgdGVzdHN1aXRlL2dkYi5weXRob24vcHktcGFyYW1l dGVyLmV4cAk1IE5vdiAyMDEwIDE2OjUyOjUzIC0wMDAwCkBAIC0wLDAgKzEs MTE2IEBACisjIENvcHlyaWdodCAoQykgMjAxMCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQor IyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor IworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK KyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2Vl IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworIyBUaGlzIGZp bGUgaXMgcGFydCBvZiB0aGUgR0RCIHRlc3RzdWl0ZS4KKyMgSXQgdGVzdHMg Z2RiLnBhcmFtZXRlciBhbmQgZ2RiLlBhcmFtZXRlci4KKworaWYgJHRyYWNl bGV2ZWwgdGhlbiB7CisgICAgc3RyYWNlICR0cmFjZWxldmVsCit9CisKK2xv YWRfbGliIGdkYi1weXRob24uZXhwCisKKyMgU3RhcnQgd2l0aCBhIGZyZXNo IGdkYi4KK2dkYl9leGl0CitnZGJfc3RhcnQKK2dkYl9yZWluaXRpYWxpemVf ZGlyICRzcmNkaXIvJHN1YmRpcgorCisjIFNraXAgYWxsIHRlc3RzIGlmIFB5 dGhvbiBzY3JpcHRpbmcgaXMgbm90IGVuYWJsZWQuCitpZiB7IFtza2lwX3B5 dGhvbl90ZXN0c10gfSB7IGNvbnRpbnVlIH0KKworIyBXZSB1c2UgIi4iIGhl cmUgaW5zdGVhZCBvZiAiOiIgc28gdGhhdCB0aGlzIHdvcmtzIG9uIHdpbjMy IHRvby4KK2dkYl90ZXN0ICJweXRob24gcHJpbnQgZ2RiLnBhcmFtZXRlciAo J2RpcmVjdG9yaWVzJykiICIkc3JjZGlyLyRzdWJkaXIuXFxcJGNkaXIuXFxc JGN3ZCIKKworIyBUZXN0IGEgc2ltcGxlIGJvb2xlYW4gcGFyYW1ldGVyLgor Z2RiX3B5X3Rlc3RfbXVsdGlwbGUgIlNpbXBsZSBnZGIgYm9vbGVhbnBhcmFt ZXRlciIgXAorICAgInB5dGhvbiIgIiIgXAorICAgImNsYXNzIFRlc3RQYXJh bSAoZ2RiLlBhcmFtZXRlcik6IiAiIiBcCisgICAiICAgXCJcIlwiV2hlbiBl bmFibGVkLCB0ZXN0IHBhcmFtIGRvZXMgc29tZXRoaW5nIHVzZWZ1bC4gV2hl biBkaXNhYmxlZCwgZG9lcyBub3RoaW5nLlwiXCJcIiIgIiIgXAorICAgIiAg IHNob3dfZG9jID0gXCJTaG93IHdoZXRoZXIgdGhlIHN0YXRlIG9mIHRoZSBU ZXN0IFBhcmFtZXRlciBkb2VzIHNvbWV0aGluZyB1c2VmdWxcIiIgIiJcCisg ICAiICAgc2V0X2RvYyA9IFwiU2V0IHdoZXRoZXIgdGhlIHN0YXRlIG9mIHRo ZSBUZXN0IFBhcmFtZXRlciBkb2VzIHNvbWV0aGluZyB1c2VmdWxcIiIgIiIg XAorICAgIiAgIGRlZiBfX2luaXRfXyAoc2VsZiwgbmFtZSk6IiAiIiBcCisg ICAiICAgICAgc3VwZXIgKFRlc3RQYXJhbSwgc2VsZikuX19pbml0X18gKG5h bWUsIGdkYi5DT01NQU5EX0RBVEEsIGdkYi5QQVJBTV9CT09MRUFOKSIgIiIg XAorICAgIiAgICAgIHNlbGYudmFsdWUgPSBUcnVlIiAiIiBcCisgICAidGVz dF9wYXJhbSA9IFRlc3RQYXJhbSAoJ3ByaW50IHRlc3QtcGFyYW0nKSIgIiJc CisgICAiZW5kIgorCitnZGJfdGVzdCAicHl0aG9uIHByaW50IHRlc3RfcGFy YW0udmFsdWUiICJUcnVlIiAiVGVzdCBwYXJhbWV0ZXIgdmFsdWUiCitnZGJf dGVzdCAic2hvdyBwcmludCB0ZXN0LXBhcmFtIiAiV2hldGhlciB0aGUgc3Rh dGUgb2YgdGhlIFRlc3QgUGFyYW1ldGVyIGRvZXMgc29tZXRoaW5nIHVzZWZ1 bCBpcyBvbi4qIiAiU2hvdyBwYXJhbWV0ZXIgb24iCitnZGJfcHlfdGVzdF9z aWxlbnRfY21kICJzZXQgcHJpbnQgdGVzdC1wYXJhbSBvZmYiICJUdXJuIG9m ZiBwYXJhbWV0ZXIiIDEKK2dkYl90ZXN0ICJzaG93IHByaW50IHRlc3QtcGFy YW0iICJXaGV0aGVyIHRoZSBzdGF0ZSBvZiB0aGUgVGVzdCBQYXJhbWV0ZXIg ZG9lcyBzb21ldGhpbmcgdXNlZnVsIGlzIG9mZi4qIiAiU2hvdyBwYXJhbWV0 ZXIgb2ZmIgorZ2RiX3Rlc3QgInB5dGhvbiBwcmludCB0ZXN0X3BhcmFtLnZh bHVlIiAiRmFsc2UiICJUZXN0IHBhcmFtZXRlciB2YWx1ZSIKK2dkYl90ZXN0 ICJoZWxwIHNob3cgcHJpbnQgdGVzdC1wYXJhbSIgIlNob3cgd2hldGhlciB0 aGUgc3RhdGUgb2YgdGhlIFRlc3QgUGFyYW1ldGVyIGRvZXMgc29tZXRoaW5n IHVzZWZ1bC4qIiAiVGVzdCBzaG93IGhlbHAiCitnZGJfdGVzdCAiaGVscCBz ZXQgcHJpbnQgdGVzdC1wYXJhbSIgIlNldCB3aGV0aGVyIHRoZSBzdGF0ZSBv ZiB0aGUgVGVzdCBQYXJhbWV0ZXIgZG9lcyBzb21ldGhpbmcgdXNlZnVsLioi ICJUZXN0IHNldCBoZWxwIgorZ2RiX3Rlc3QgImhlbHAgc2V0IHByaW50IiAi c2V0IHByaW50IHRlc3QtcGFyYW0gLS0gU2V0IHdoZXRoZXIgdGhlIHN0YXRl IG9mIHRoZSBUZXN0IFBhcmFtZXRlci4qIiAiVGVzdCBnZW5lcmFsIGhlbHAi CisKKyMgVGVzdCBhbiBlbnVtIHBhcmFtZXRlci4KK2dkYl9weV90ZXN0X211 bHRpcGxlICJlbnVtIGdkYiBwYXJhbWV0ZXIiIFwKKyAgICJweXRob24iICIi IFwKKyAgICJjbGFzcyBUZXN0RW51bVBhcmFtIChnZGIuUGFyYW1ldGVyKToi ICIiIFwKKyAgICIgICBcIlwiXCJXaGVuIHNldCwgdGVzdCBwYXJhbSBkb2Vz IHNvbWV0aGluZyB1c2VmdWwuIFdoZW4gZGlzYWJsZWQsIGRvZXMgbm90aGlu Zy5cIlwiXCIiICIiIFwKKyAgICIgICBzaG93X2RvYyA9IFwiU2hvdyB0aGUg c3RhdGUgb2YgdGhlIGVudW1cIiIgIiJcCisgICAiICAgc2V0X2RvYyA9IFwi U2V0IHRoZSBzdGF0ZSBvZiB0aGUgZW51bVwiIiAiIiBcCisgICAiICAgZGVm IF9faW5pdF9fIChzZWxmLCBuYW1lKToiICIiIFwKKyAgICIgICAgICBzdXBl ciAoVGVzdEVudW1QYXJhbSwgc2VsZikuX19pbml0X18gKG5hbWUsIGdkYi5D T01NQU5EX0RBVEEsIGdkYi5QQVJBTV9FTlVNLCBcW1wib25lXCIsIFwidHdv XCJcXSkiICIiIFwKKyAgICIgICAgICBzZWxmLnZhbHVlID0gXCJvbmVcIiIg IiIgXAorICAgInRlc3RfZW51bV9wYXJhbSA9IFRlc3RFbnVtUGFyYW0gKCdw cmludCB0ZXN0LWVudW0tcGFyYW0nKSIgIiJcCisgICAiZW5kIgorCitnZGJf dGVzdCAicHl0aG9uIHByaW50IHRlc3RfZW51bV9wYXJhbS52YWx1ZSIgIm9u ZSIgIlRlc3QgZW51bSBwYXJhbWV0ZXIgdmFsdWUiCitnZGJfdGVzdCAic2hv dyBwcmludCB0ZXN0LWVudW0tcGFyYW0iICJUaGUgc3RhdGUgb2YgdGhlIGVu dW0gaXMgXCJvbmVcIi4qIiAiU2hvdyBwYXJhbWV0ZXIgaXMgaW5pdGlhbCB2 YWx1ZSIKK2dkYl9weV90ZXN0X3NpbGVudF9jbWQgInNldCBwcmludCB0ZXN0 LWVudW0tcGFyYW0gdHdvIiAiU2V0IHBhcmFtZXRlciB0byBlbnVtIHZhbHVl IiAxCitnZGJfdGVzdCAic2hvdyBwcmludCB0ZXN0LWVudW0tcGFyYW0iICJU aGUgc3RhdGUgb2YgdGhlIGVudW0gaXMgXCJ0d29cIi4qIiAiU2hvdyBwYXJh bWV0ZXIgaXMgbmV3IHZhbHVlIgorZ2RiX3Rlc3QgInB5dGhvbiBwcmludCB0 ZXN0X2VudW1fcGFyYW0udmFsdWUiICJ0d28iICJUZXN0IGVudW0gcGFyYW1l dGVyIHZhbHVlIgorZ2RiX3Rlc3QgInNldCBwcmludCB0ZXN0LWVudW0tcGFy YW0gdGhyZWUiICJVbmRlZmluZWQgaXRlbTogXCJ0aHJlZVwiLioiICJTZXQg aW52YWxpZCBlbnVtIHBhcmFtZXRlciIgCisKKyMgVGVzdCBhIGZpbGUgcGFy YW1ldGVyLgorZ2RiX3B5X3Rlc3RfbXVsdGlwbGUgImZpbGUgZ2RiIHBhcmFt ZXRlciIgXAorICAgInB5dGhvbiIgIiIgXAorICAgImNsYXNzIFRlc3RGaWxl UGFyYW0gKGdkYi5QYXJhbWV0ZXIpOiIgIiIgXAorICAgIiAgIFwiXCJcIldo ZW4gc2V0LCB0ZXN0IHBhcmFtIGRvZXMgc29tZXRoaW5nIHVzZWZ1bC4gV2hl biBkaXNhYmxlZCwgZG9lcyBub3RoaW5nLlwiXCJcIiIgIiIgXAorICAgIiAg IHNob3dfZG9jID0gXCJTaG93IHRoZSBuYW1lIG9mIHRoZSBmaWxlXCIiICIi XAorICAgIiAgIHNldF9kb2MgPSBcIlNldCB0aGUgbmFtZSBvZiB0aGUgZmls ZVwiIiAiIiBcCisgICAiICAgZGVmIF9faW5pdF9fIChzZWxmLCBuYW1lKToi ICIiIFwKKyAgICIgICAgICBzdXBlciAoVGVzdEZpbGVQYXJhbSwgc2VsZiku X19pbml0X18gKG5hbWUsIGdkYi5DT01NQU5EX0ZJTEVTLCBnZGIuUEFSQU1f RklMRU5BTUUpIiAiIiBcCisgICAiICAgICAgc2VsZi52YWx1ZSA9IFwiZm9v LnR4dFwiIiAiIiBcCisgICAidGVzdF9maWxlX3BhcmFtID0gVGVzdEZpbGVQ YXJhbSAoJ3Rlc3QtZmlsZS1wYXJhbScpIiAiIlwKKyAgICJlbmQiCisKK2dk Yl90ZXN0ICJweXRob24gcHJpbnQgdGVzdF9maWxlX3BhcmFtLnZhbHVlIiAi Zm9vLnR4dCIgIlRlc3QgZmlsZSBwYXJhbWV0ZXIgdmFsdWUiCitnZGJfdGVz dCAic2hvdyB0ZXN0LWZpbGUtcGFyYW0iICJUaGUgbmFtZSBvZiB0aGUgZmls ZSBpcyBcImZvby50eHRcIi4qIiAiU2hvdyBpbml0aWFsIGZpbGUgdmFsdWUi CitnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJzZXQgdGVzdC1maWxlLXBhcmFt IGJhci50eHQiICJTZXQgbmV3IGZpbGUgcGFyYW1ldGVyIiAxCitnZGJfdGVz dCAic2hvdyB0ZXN0LWZpbGUtcGFyYW0iICJUaGUgbmFtZSBvZiB0aGUgZmls ZSBpcyBcImJhci50eHRcIi4qIiAiU2hvdyBuZXcgZmlsZSB2YWx1ZSIKK2dk Yl90ZXN0ICJweXRob24gcHJpbnQgdGVzdF9maWxlX3BhcmFtLnZhbHVlIiAi YmFyLnR4dCIgIlRlc3QgbmV3IGZpbGUgcGFyYW1ldGVyIHZhbHVlIgorZ2Ri X3Rlc3QgInNldCB0ZXN0LWZpbGUtcGFyYW0iICJBcmd1bWVudCByZXF1aXJl ZC4qIiAKKworIyBUZXN0IGEgZmlsZSBwYXJhbWV0ZXIuCitnZGJfcHlfdGVz dF9tdWx0aXBsZSAiZmlsZSBnZGIgcGFyYW1ldGVyIiBcCisgICAicHl0aG9u IiAiIiBcCisgICAiY2xhc3MgVGVzdEZpbGVQYXJhbSAoZ2RiLlBhcmFtZXRl cik6IiAiIiBcCisgICAiICAgXCJcIlwiV2hlbiBzZXQsIHRlc3QgcGFyYW0g ZG9lcyBzb21ldGhpbmcgdXNlZnVsLiBXaGVuIGRpc2FibGVkLCBkb2VzIG5v dGhpbmcuXCJcIlwiIiAiIiBcCisgICAiICAgc2hvd19kb2MgPSBcIlNob3cg dGhlIG5hbWUgb2YgdGhlIGZpbGVcIiIgIiJcCisgICAiICAgc2V0X2RvYyA9 IFwiU2V0IHRoZSBuYW1lIG9mIHRoZSBmaWxlXCIiICIiIFwKKyAgICIgICBk ZWYgX19pbml0X18gKHNlbGYsIG5hbWUpOiIgIiIgXAorICAgIiAgICAgIHN1 cGVyIChUZXN0RmlsZVBhcmFtLCBzZWxmKS5fX2luaXRfXyAobmFtZSwgZ2Ri LkNPTU1BTkRfRklMRVMsIGdkYi5QQVJBTV9GSUxFTkFNRSkiICIiIFwKKyAg ICIgICAgICBzZWxmLnZhbHVlID0gXCJmb28udHh0XCIiICIiIFwKKyAgICJ0 ZXN0X2ZpbGVfcGFyYW0gPSBUZXN0RmlsZVBhcmFtICgndGVzdC1maWxlLXBh cmFtJykiICIiXAorICAgImVuZCIKKworZ2RiX3Rlc3QgInB5dGhvbiBwcmlu dCB0ZXN0X2ZpbGVfcGFyYW0udmFsdWUiICJmb28udHh0IiAiVGVzdCBwYXJh bWV0ZXIgdmFsdWUiCitnZGJfdGVzdCAic2hvdyB0ZXN0LWZpbGUtcGFyYW0i ICJUaGUgbmFtZSBvZiB0aGUgZmlsZSBpcyBcImZvby50eHRcIi4qIiAiU2hv dyBwYXJhbWV0ZXIgb24iCitnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJzZXQg dGVzdC1maWxlLXBhcmFtIGJhci50eHQiICJUdXJuIG9mZiBwYXJhbWV0ZXIi IDEKK2dkYl90ZXN0ICJzaG93IHRlc3QtZmlsZS1wYXJhbSIgIlRoZSBuYW1l IG9mIHRoZSBmaWxlIGlzIFwiYmFyLnR4dFwiLioiICJTaG93IHBhcmFtZXRl ciBvbiIKK2dkYl90ZXN0ICJweXRob24gcHJpbnQgdGVzdF9maWxlX3BhcmFt LnZhbHVlIiAiYmFyLnR4dCIgIlRlc3QgcGFyYW1ldGVyIHZhbHVlIgorZ2Ri X3Rlc3QgInNldCB0ZXN0LWZpbGUtcGFyYW0iICJBcmd1bWVudCByZXF1aXJl ZC4qIiAK --90e6ba6e8c9041901404945166c1--