From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-il1-x131.google.com (mail-il1-x131.google.com [IPv6:2607:f8b0:4864:20::131]) by sourceware.org (Postfix) with ESMTPS id 73F3C387084A for ; Thu, 28 May 2020 12:44:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 73F3C387084A Received: by mail-il1-x131.google.com with SMTP id d1so4889402ila.8 for ; Thu, 28 May 2020 05:44:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=JF3pBBvH99IKp8qqqJe1grFbY4uO+tE8Ipw1aA0cJBk=; b=tWa1cOlsEE0fbFuZi/MeT06wuVqjOn8tKMh6KUjATE4gGg9ZojB7NA5dhEIXK1bLPI ii7C92WUVNz+EZV/l0HxLmI/r3tI0PXB8xUiuPaKpqnMUuF7lRF9O5pnLitO0Euq2c5R m+rYO4BlXAwiI2gF4f4Y46iIxvPz1MoqIwwcBd+HKpL2iIdcFZfuaBtmiaqf+23+VuzV NnbFkmx4oUodq03kfjLIl/rMVDAQfen2O1xWtdnB6QcJo0MRzlU9b7YkOILZVkOtnEHj rYxyEJ6mhxlGv5jGYpL1kWBaAhSypkdH64Nr/j8AaXYpHK3/PvpkNENOH7XVp3NdsmJo GNnA== X-Gm-Message-State: AOAM5332XVeHXTbAyy5eTsWhBJDerV2H3v8+3KxMj+Ii/LbB58JgSVCw 3oWRL9j2IKHWze7kGYyTp2D61SVJSuOscMY1Ov0= X-Google-Smtp-Source: ABdhPJy+CneHQsQqUNKBjyKzD1mhZRV4oBLNALLmWEyQ2NbcqsOrvwg+T2IeqjbaXcrL/WdJwLUwBv4KpPGI97NpDZI= X-Received: by 2002:a92:d591:: with SMTP id a17mr2740959iln.13.1590669897881; Thu, 28 May 2020 05:44:57 -0700 (PDT) MIME-Version: 1.0 References: <20200523144750.241563-1-hjl.tools@gmail.com> <20200523182928.dwqe2dmtyupxzrpw@google.com> <20200523215632.atyzuawjevr6g5do@google.com> <20200527161916.6pff6l6quryjql35@google.com> In-Reply-To: From: "H.J. Lu" Date: Thu, 28 May 2020 05:44:22 -0700 Message-ID: Subject: V6 [PATCH] ld: Add --export-dynamic-symbol and --export-dynamic-symbol-list To: Fangrui Song , Nick Clifton , Alan Modra Cc: Binutils Content-Type: multipart/mixed; boundary="000000000000386dfd05a6b4b2c3" X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_STOCKGEN, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 May 2020 12:45:01 -0000 --000000000000386dfd05a6b4b2c3 Content-Type: text/plain; charset="UTF-8" Here is the rebased patch. Nick, Alan, is it OK for master? Thanks. --export-dynamic-symbol-list is like a dynamic list, but without the symbolic property for unspecified symbols. When creating an executable, --export-dynamic-symbol-list is treated like --dynamic-list. When creating a shared library, it is treated like --dynamic-list if -Bsymbolic or --dynamic-list are used, otherwise, it is ignored, so that references to matched symbols will not be bound to the definitions within the shared library. -- H.J. --000000000000386dfd05a6b4b2c3 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-ld-Add-export-dynamic-symbol-and-export-dynamic-symb.patch" Content-Disposition: attachment; filename="0001-ld-Add-export-dynamic-symbol-and-export-dynamic-symb.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kaqrpn9f0 RnJvbSA5YjdkZjYxZGNkOGYyMTQ3ZDg5NjZhNjI2MWU3ZmY0MjE5NDQzYWQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGYW5ncnVpIFNvbmcgPG1hc2tyYXlAZ29vZ2xlLmNvbT4KRGF0 ZTogV2VkLCAyMiBBcHIgMjAyMCAyMjoxMjo0MiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGxkOiBB ZGQgLS1leHBvcnQtZHluYW1pYy1zeW1ib2wgYW5kCiAtLWV4cG9ydC1keW5hbWljLXN5bWJvbC1s aXN0CgotLWV4cG9ydC1keW5hbWljLXN5bWJvbC1saXN0IGlzIGxpa2UgYSBkeW5hbWljIGxpc3Qs IGJ1dCB3aXRob3V0CnRoZSBzeW1ib2xpYyBwcm9wZXJ0eSBmb3IgdW5zcGVjaWZpZWQgc3ltYm9s cy4KCldoZW4gY3JlYXRpbmcgYW4gZXhlY3V0YWJsZSwgLS1leHBvcnQtZHluYW1pYy1zeW1ib2wt bGlzdCBpcyB0cmVhdGVkCmxpa2UgLS1keW5hbWljLWxpc3QuCgpXaGVuIGNyZWF0aW5nIGEgc2hh cmVkIGxpYnJhcnksIGl0IGlzIHRyZWF0ZWQgbGlrZSAtLWR5bmFtaWMtbGlzdCBpZgotQnN5bWJv bGljIG9yIC0tZHluYW1pYy1saXN0IGFyZSB1c2VkLCAgb3RoZXJ3aXNlLCBpdCBpcyBpZ25vcmVk LCBzbwp0aGF0IHJlZmVyZW5jZXMgdG8gbWF0Y2hlZCBzeW1ib2xzIHdpbGwgbm90IGJlIGJvdW5k IHRvIHRoZSBkZWZpbml0aW9ucwp3aXRoaW4gdGhlIHNoYXJlZCBsaWJyYXJ5LgoKMjAyMC0wNS1Y WCAgRmFuZ3J1aSBTb25nICA8bWFza3JheUBnb29nbGUuY29tPgoJICAgIEguSi4gTHUgIDxob25n aml1Lmx1QGludGVsLmNvbT4KCglQUiBsZC8yNTkxMAoJKiBORVdTOiBNZW50aW9uIC0tZXhwb3J0 LWR5bmFtaWMtc3ltYm9sWy1saXN0XS4KCSogbGQudGV4aTogRG9jdW1lbnQgLS1leHBvcnQtZHlu YW1pYy1zeW1ib2xbLWxpc3RdLgoJKiBsZGdyYW0ueTogUGFzcyBjdXJyZW50X2R5bmFtaWNfbGlz dF9wIHRvCglsYW5nX2FwcGVuZF9keW5hbWljX2xpc3QuCgkqIGxkbGFuZy5jIChjdXJyZW50X2R5 bmFtaWNfbGlzdF9wKTogTmV3LgoJKGFuZ19hcHBlbmRfZHluYW1pY19saXN0KTogVXBkYXRlZCB0 byB0YWtlIGEgcG9pbnRlciB0bwoJc3RydWN0IGJmZF9lbGZfZHluYW1pY19saXN0ICogYXJndW1l bnQgaW5zdGVhZCBvZiB1c2luZwoJbGlua19pbmZvLmR5bmFtaWNfbGlzdC4KCShsYW5nX2FwcGVu ZF9keW5hbWljX2xpc3RfY3BwX3R5cGVpbmZvKTogUGFzcwoJJmxpbmtfaW5mby5keW5hbWljX2xp c3QgdG8gYW5nX2FwcGVuZF9keW5hbWljX2xpc3QuCgkobGFuZ19hcHBlbmRfZHluYW1pY19saXN0 X2NwcF9uZXcpOiBMaWtld2lzZS4KCSogbGRsYW5nLmggKGN1cnJlbnRfZHluYW1pY19saXN0X3Ap OiBOZXcuCgkobGFuZ19hcHBlbmRfZHluYW1pY19saXN0KTogQWRkIGEgcG9pbnRlciB0bwoJc3Ry dWN0IGJmZF9lbGZfZHluYW1pY19saXN0ICogYXJndW1lbnQuCgkqIGxkbGV4LmggKG9wdGlvbl92 YWx1ZXMpOiBBZGQgT1BUSU9OX0VYUE9SVF9EWU5BTUlDX1NZTUJPTCBhbmQKCU9QVElPTl9FWFBP UlRfRFlOQU1JQ19TWU1CT0xfTElTVC4KCSogbGV4c3VwLmMgKGxkX29wdGlvbnMpOiBBZGQgZW50 cmllcyBmb3IKCU9QVElPTl9FWFBPUlRfRFlOQU1JQ19TWU1CT0wgYW5kCglPUFRJT05fRVhQT1JU X0RZTkFNSUNfU1lNQk9MX0xJU1QuCgkocGFyc2VfYXJncyk6IEhhbmRsZSAtLWV4cG9ydC1keW5h bWljLXN5bWJvbCBhbmQKCS0tZXhwb3J0LWR5bmFtaWMtc3ltYm9sLWxpc3QuCgkqIHRlc3RzdWl0 ZS9sZC1keW5hbWljL2V4cG9ydC1keW5hbWljLXN5bWJvbC0xLmQ6IE5ldy4KCSogdGVzdHN1aXRl L2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFtaWMtc3ltYm9sLTIuZDogTmV3LgoJKiB0ZXN0c3VpdGUv bGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wtZ2xvYi5kOiBOZXcuCgkqIHRlc3RzdWl0 ZS9sZC1keW5hbWljL2V4cG9ydC1keW5hbWljLXN5bWJvbC1saXN0LTEuZDogTmV3LgoJKiB0ZXN0 c3VpdGUvbGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wtbGlzdC0yLmQ6IE5ldy4KCSog dGVzdHN1aXRlL2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFtaWMtc3ltYm9sLWxpc3QtZ2xvYi5kOiBO ZXcuCgkqIHRlc3RzdWl0ZS9sZC1keW5hbWljL2V4cG9ydC1keW5hbWljLXN5bWJvbC5leHA6IE5l dy4KCSogdGVzdHN1aXRlL2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFtaWMtc3ltYm9sLnM6IE5ldy4K CSogdGVzdHN1aXRlL2xkLWR5bmFtaWMvZm9vLWJhci5saXN0OiBOZXcuCgkqIHRlc3RzdWl0ZS9s ZC1keW5hbWljL2Zvby5saXN0OiBOZXcuCgkqIHRlc3RzdWl0ZS9sZC1keW5hbWljL2Zvby5zOiBO ZXcuCgkqIHRlc3RzdWl0ZS9sZC1keW5hbWljL2ZzdGFyLmxpc3Q6IE5ldy4KCSogdGVzdHN1aXRl L2xkLWVsZi9kbGVtcHR5Lmxpc3Q6IE5ldy4KCSogdGVzdHN1aXRlL2xkLWVsZi9zaGFyZWQuZXhw OiBBZGQgdGVzdHMgZm9yCgktLWV4cG9ydC1keW5hbWljLXN5bWJvbCBhbmQgLS1leHBvcnQtZHlu YW1pYy1zeW1ib2wtbGlzdC4KLS0tCiBsZC9ORVdTICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMyArCiBsZC9sZC50ZXhpICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAxOCArKysrKwogbGQvbGRncmFtLnkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGxkL2xkbGFuZy5jICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDE2ICsrKy0tCiBsZC9sZGxhbmcuaCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNSArLQogbGQvbGRsZXguaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKwogbGQvbGV4c3VwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgNzIgKysrKysrKysrKysrKysrKysrKwogLi4uL2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFt aWMtc3ltYm9sLTEuZCAgICAgIHwgIDkgKysrCiAuLi4vbGQtZHluYW1pYy9leHBvcnQtZHluYW1p Yy1zeW1ib2wtMi5kICAgICAgfCAgOSArKysKIC4uLi9sZC1keW5hbWljL2V4cG9ydC1keW5hbWlj LXN5bWJvbC1nbG9iLmQgICB8ICA4ICsrKwogLi4uL2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFtaWMt c3ltYm9sLWxpc3QtMS5kIHwgIDkgKysrCiAuLi4vbGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1z eW1ib2wtbGlzdC0yLmQgfCAgOSArKysKIC4uLi9leHBvcnQtZHluYW1pYy1zeW1ib2wtbGlzdC1n bG9iLmQgICAgICAgICB8ICA4ICsrKwogLi4uL2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFtaWMtc3lt Ym9sLmV4cCAgICAgIHwgNzAgKysrKysrKysrKysrKysrKysrCiAuLi4vbGQtZHluYW1pYy9leHBv cnQtZHluYW1pYy1zeW1ib2wucyAgICAgICAgfCAxNyArKysrKwogbGQvdGVzdHN1aXRlL2xkLWR5 bmFtaWMvZm9vLWJhci5saXN0ICAgICAgICAgIHwgIDEgKwogbGQvdGVzdHN1aXRlL2xkLWR5bmFt aWMvZm9vLmxpc3QgICAgICAgICAgICAgIHwgIDEgKwogbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMv Zm9vLnMgICAgICAgICAgICAgICAgIHwgIDQgKysKIGxkL3Rlc3RzdWl0ZS9sZC1keW5hbWljL2Zz dGFyLmxpc3QgICAgICAgICAgICB8ICAxICsKIGxkL3Rlc3RzdWl0ZS9sZC1lbGYvZGxlbXB0eS5s aXN0ICAgICAgICAgICAgICB8ICAzICsKIGxkL3Rlc3RzdWl0ZS9sZC1lbGYvc2hhcmVkLmV4cCAg ICAgICAgICAgICAgICB8IDQyICsrKysrKysrKysrCiAyMSBmaWxlcyBjaGFuZ2VkLCAzMDAgaW5z ZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3Vp dGUvbGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wtMS5kCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFtaWMtc3ltYm9sLTIuZAogY3Jl YXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1keW5hbWljL2V4cG9ydC1keW5hbWljLXN5 bWJvbC1nbG9iLmQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9l eHBvcnQtZHluYW1pYy1zeW1ib2wtbGlzdC0xLmQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0 c3VpdGUvbGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wtbGlzdC0yLmQKIGNyZWF0ZSBt b2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wt bGlzdC1nbG9iLmQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9l eHBvcnQtZHluYW1pYy1zeW1ib2wuZXhwCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGQvdGVzdHN1aXRl L2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFtaWMtc3ltYm9sLnMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBs ZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9mb28tYmFyLmxpc3QKIGNyZWF0ZSBtb2RlIDEwMDY0NCBs ZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9mb28ubGlzdAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxkL3Rl c3RzdWl0ZS9sZC1keW5hbWljL2Zvby5zCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGQvdGVzdHN1aXRl L2xkLWR5bmFtaWMvZnN0YXIubGlzdAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9s ZC1lbGYvZGxlbXB0eS5saXN0CgpkaWZmIC0tZ2l0IGEvbGQvTkVXUyBiL2xkL05FV1MKaW5kZXgg MGRjNWU5YjM2OC4uNDg1ZTFjZjViOSAxMDA2NDQKLS0tIGEvbGQvTkVXUworKysgYi9sZC9ORVdT CkBAIC0xLDUgKzEsOCBAQAogLSotIHRleHQgLSotCiAKKyogQWRkIEVMRiBsaW5rZXIgY29tbWFu ZC1saW5lIG9wdGlvbnMsIC0tZXhwb3J0LWR5bmFtaWMtc3ltYm9sIGFuZAorICAtLWV4cG9ydC1k eW5hbWljLXN5bWJvbC1saXN0LCB0byBtYWtlIHN5bWJvbHMgZHluYW1pYy4KKwogKiBBZGQgYSBj b25maWd1cmUgb3B0aW9uLCAtLWVuYWJsZS10ZXh0cmVsLWNoZWNrPVtub3x5ZXN8d2FybmluZ3xl cnJvcl0sCiAgIHRvIGRlY2lkZSB3aGF0IEVMRiBsaW5rZXIgc2hvdWxkIGRvIGJ5IGRlZmF1bHQg d2l0aCBEVF9URVhUUkVMIGluIGFuCiAgIGV4ZWN1dGFibGUgb3Igc2hhcmVkIGxpYnJhcnkuICBE ZWZhdWx0IHRvIHllcyBmb3IgTGludXgveDg2IHRhcmdldHMuCmRpZmYgLS1naXQgYS9sZC9sZC50 ZXhpIGIvbGQvbGQudGV4aQppbmRleCBjYjM4ZjQ3Y2QzLi5iZjQ3NGQ0YzYyIDEwMDY0NAotLS0g YS9sZC9sZC50ZXhpCisrKyBiL2xkL2xkLnRleGkKQEAgLTU2OSw2ICs1NjksMjQgQEAgTm90ZSB0 aGF0IHRoaXMgb3B0aW9uIGlzIHNwZWNpZmljIHRvIEVMRiB0YXJnZXRlZCBwb3J0cy4gIFBFIHRh cmdldHMKIHN1cHBvcnQgYSBzaW1pbGFyIGZ1bmN0aW9uIHRvIGV4cG9ydCBhbGwgc3ltYm9scyBm cm9tIGEgRExMIG9yIEVYRTsgc2VlCiB0aGUgZGVzY3JpcHRpb24gb2YgQHNhbXB7LS1leHBvcnQt YWxsLXN5bWJvbHN9IGJlbG93LgogCitAa2luZGV4IC0tZXhwb3J0LWR5bmFtaWMtc3ltYm9sPUB2 YXJ7Z2xvYn0KK0BjaW5kZXggZXhwb3J0IGR5bmFtaWMgc3ltYm9sCitAaXRlbSAtLWV4cG9ydC1k eW5hbWljLXN5bWJvbD1AdmFye2dsb2J9CitXaGVuIGNyZWF0aW5nIGEgZHluYW1pY2FsbHkgbGlu a2VkIGV4ZWN1dGFibGUsIHN5bWJvbHMgbWF0Y2hpbmcKK0B2YXJ7Z2xvYn0gd2lsbCBiZSBhZGRl ZCB0byB0aGUgZHluYW1pYyBzeW1ib2wgdGFibGUuIFdoZW4gY3JlYXRpbmcgYQorc2hhcmVkIGxp YnJhcnksIHJlZmVyZW5jZXMgdG8gc3ltYm9scyBtYXRjaGluZyBAdmFye2dsb2J9IHdpbGwgbm90 IGJlCitib3VuZCB0byB0aGUgZGVmaW5pdGlvbnMgd2l0aGluIHRoZSBzaGFyZWQgbGlicmFyeS4g VGhpcyBvcHRpb24gaXMgYQorbm8tb3Agd2hlbiBjcmVhdGluZyBhIHNoYXJlZCBsaWJyYXJ5IGFu ZCBAc2FtcHstQnN5bWJvbGljfSBvcgorQHNhbXB7LS1keW5hbWljLWxpc3R9IGFyZSBub3Qgc3Bl Y2lmaWVkLiBUaGlzIG9wdGlvbiBpcyBvbmx5IG1lYW5pbmdmdWwKK29uIEVMRiBwbGF0Zm9ybXMg d2hpY2ggc3VwcG9ydCBzaGFyZWQgbGlicmFyaWVzLgorCitAa2luZGV4IC0tZXhwb3J0LWR5bmFt aWMtc3ltYm9sLWxpc3Q9QHZhcntmaWxlfQorQGNpbmRleCBleHBvcnQgZHluYW1pYyBzeW1ib2wg bGlzdAorQGl0ZW0gLS1leHBvcnQtZHluYW1pYy1zeW1ib2wtbGlzdD1AdmFye2ZpbGV9CitTcGVj aWZ5IGEgQHNhbXB7LS1leHBvcnQtZHluYW1pYy1zeW1ib2x9IGZvciBlYWNoIHBhdHRlcm4gaW4g dGhlIGZpbGUuCitUaGUgZm9ybWF0IG9mIHRoZSBmaWxlIGlzIHRoZSBzYW1lIGFzIHRoZSB2ZXJz aW9uIG5vZGUgd2l0aG91dAorc2NvcGUgYW5kIG5vZGUgbmFtZS4gIFNlZSBAcmVme1ZFUlNJT059 IGZvciBtb3JlIGluZm9ybWF0aW9uLgorCiBAaWZjbGVhciBTaW5nbGVGb3JtYXQKIEBjaW5kZXgg YmlnLWVuZGlhbiBvYmplY3RzCiBAY2luZGV4IGVuZGlhbm5lc3MKZGlmZiAtLWdpdCBhL2xkL2xk Z3JhbS55IGIvbGQvbGRncmFtLnkKaW5kZXggZGY1YzAzNWMwMy4uMzY4NDVjNGMzMCAxMDA2NDQK LS0tIGEvbGQvbGRncmFtLnkKKysrIGIvbGQvbGRncmFtLnkKQEAgLTEzMTMsNyArMTMxMyw3IEBA IGR5bmFtaWNfbGlzdF9ub2RlOgogZHluYW1pY19saXN0X3RhZzoKIAkJdmVyc19kZWZucyAnOycK IAkJewotCQkgIGxhbmdfYXBwZW5kX2R5bmFtaWNfbGlzdCAoJDEpOworCQkgIGxhbmdfYXBwZW5k X2R5bmFtaWNfbGlzdCAoY3VycmVudF9keW5hbWljX2xpc3RfcCwgJDEpOwogCQl9CiAJOwogCmRp ZmYgLS1naXQgYS9sZC9sZGxhbmcuYyBiL2xkL2xkbGFuZy5jCmluZGV4IDNkNjUzZDQ2MGQuLjE0 YTZhNTc3ZDIgMTAwNjQ0Ci0tLSBhL2xkL2xkbGFuZy5jCisrKyBiL2xkL2xkbGFuZy5jCkBAIC0x MTgsNiArMTE4LDcgQEAgbGFuZ19zdGF0ZW1lbnRfbGlzdF90eXBlIGZpbGVfY2hhaW4gPSB7IE5V TEwsIE5VTEwgfTsKICAgIGxhbmdfc3RhdGVtZW50X3VuaW9uKS4gICovCiBsYW5nX3N0YXRlbWVu dF9saXN0X3R5cGUgaW5wdXRfZmlsZV9jaGFpbjsKIHN0YXRpYyBjb25zdCBjaGFyICpjdXJyZW50 X2lucHV0X2ZpbGU7CitzdHJ1Y3QgYmZkX2VsZl9keW5hbWljX2xpc3QgKipjdXJyZW50X2R5bmFt aWNfbGlzdF9wOwogc3RydWN0IGJmZF9zeW1fY2hhaW4gZW50cnlfc3ltYm9sID0geyBOVUxMLCBO VUxMIH07CiBjb25zdCBjaGFyICplbnRyeV9zZWN0aW9uID0gIi50ZXh0IjsKIHN0cnVjdCBsYW5n X2lucHV0X3N0YXRlbWVudF9mbGFncyBpbnB1dF9mbGFnczsKQEAgLTkzMjQsMTUgKzkzMjUsMTYg QEAgbGFuZ19hZGRfdW5pcXVlIChjb25zdCBjaGFyICpuYW1lKQogLyogQXBwZW5kIHRoZSBsaXN0 IG9mIGR5bmFtaWMgc3ltYm9scyB0byB0aGUgZXhpc3Rpbmcgb25lLiAgKi8KIAogdm9pZAotbGFu Z19hcHBlbmRfZHluYW1pY19saXN0IChzdHJ1Y3QgYmZkX2VsZl92ZXJzaW9uX2V4cHIgKmR5bmFt aWMpCitsYW5nX2FwcGVuZF9keW5hbWljX2xpc3QgKHN0cnVjdCBiZmRfZWxmX2R5bmFtaWNfbGlz dCAqKmxpc3RfcCwKKwkJCSAgc3RydWN0IGJmZF9lbGZfdmVyc2lvbl9leHByICpkeW5hbWljKQog ewotICBpZiAobGlua19pbmZvLmR5bmFtaWNfbGlzdCkKKyAgaWYgKCpsaXN0X3ApCiAgICAgewog ICAgICAgc3RydWN0IGJmZF9lbGZfdmVyc2lvbl9leHByICp0YWlsOwogICAgICAgZm9yICh0YWls ID0gZHluYW1pYzsgdGFpbC0+bmV4dCAhPSBOVUxMOyB0YWlsID0gdGFpbC0+bmV4dCkKIAk7Ci0g ICAgICB0YWlsLT5uZXh0ID0gbGlua19pbmZvLmR5bmFtaWNfbGlzdC0+aGVhZC5saXN0OwotICAg ICAgbGlua19pbmZvLmR5bmFtaWNfbGlzdC0+aGVhZC5saXN0ID0gZHluYW1pYzsKKyAgICAgIHRh aWwtPm5leHQgPSAoKmxpc3RfcCktPmhlYWQubGlzdDsKKyAgICAgICgqbGlzdF9wKS0+aGVhZC5s aXN0ID0gZHluYW1pYzsKICAgICB9CiAgIGVsc2UKICAgICB7CkBAIC05MzQxLDcgKzkzNDMsNyBA QCBsYW5nX2FwcGVuZF9keW5hbWljX2xpc3QgKHN0cnVjdCBiZmRfZWxmX3ZlcnNpb25fZXhwciAq ZHluYW1pYykKICAgICAgIGQgPSAoc3RydWN0IGJmZF9lbGZfZHluYW1pY19saXN0ICopIHhjYWxs b2MgKDEsIHNpemVvZiAqZCk7CiAgICAgICBkLT5oZWFkLmxpc3QgPSBkeW5hbWljOwogICAgICAg ZC0+bWF0Y2ggPSBsYW5nX3ZlcnNfbWF0Y2g7Ci0gICAgICBsaW5rX2luZm8uZHluYW1pY19saXN0 ID0gZDsKKyAgICAgICpsaXN0X3AgPSBkOwogICAgIH0KIH0KIApAQCAtOTM2Myw3ICs5MzY1LDcg QEAgbGFuZ19hcHBlbmRfZHluYW1pY19saXN0X2NwcF90eXBlaW5mbyAodm9pZCkKICAgICBkeW5h bWljID0gbGFuZ19uZXdfdmVyc19wYXR0ZXJuIChkeW5hbWljLCBzeW1ib2xzIFtpXSwgIkMrKyIs CiAJCQkJICAgICBGQUxTRSk7CiAKLSAgbGFuZ19hcHBlbmRfZHluYW1pY19saXN0IChkeW5hbWlj KTsKKyAgbGFuZ19hcHBlbmRfZHluYW1pY19saXN0ICgmbGlua19pbmZvLmR5bmFtaWNfbGlzdCwg ZHluYW1pYyk7CiB9CiAKIC8qIEFwcGVuZCB0aGUgbGlzdCBvZiBDKysgb3BlcmF0b3IgbmV3IGFu ZCBkZWxldGUgZHluYW1pYyBzeW1ib2xzIHRvIHRoZQpAQCAtOTM4NCw3ICs5Mzg2LDcgQEAgbGFu Z19hcHBlbmRfZHluYW1pY19saXN0X2NwcF9uZXcgKHZvaWQpCiAgICAgZHluYW1pYyA9IGxhbmdf bmV3X3ZlcnNfcGF0dGVybiAoZHluYW1pYywgc3ltYm9scyBbaV0sICJDKysiLAogCQkJCSAgICAg RkFMU0UpOwogCi0gIGxhbmdfYXBwZW5kX2R5bmFtaWNfbGlzdCAoZHluYW1pYyk7CisgIGxhbmdf YXBwZW5kX2R5bmFtaWNfbGlzdCAoJmxpbmtfaW5mby5keW5hbWljX2xpc3QsIGR5bmFtaWMpOwog fQogCiAvKiBTY2FuIGEgc3BhY2UgYW5kL29yIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgZmVh dHVyZXMuICAqLwpkaWZmIC0tZ2l0IGEvbGQvbGRsYW5nLmggYi9sZC9sZGxhbmcuaAppbmRleCAz MDE4YzNlMmJhLi41MjljY2QxNTg1IDEwMDY0NAotLS0gYS9sZC9sZGxhbmcuaAorKysgYi9sZC9s ZGxhbmcuaApAQCAtNTEzLDYgKzUxMyw4IEBAIGV4dGVybiBiZmRfYm9vbGVhbiBlbnRyeV9mcm9t X2NtZGxpbmU7CiBleHRlcm4gbGFuZ19zdGF0ZW1lbnRfbGlzdF90eXBlIGZpbGVfY2hhaW47CiBl eHRlcm4gbGFuZ19zdGF0ZW1lbnRfbGlzdF90eXBlIGlucHV0X2ZpbGVfY2hhaW47CiAKK2V4dGVy biBzdHJ1Y3QgYmZkX2VsZl9keW5hbWljX2xpc3QgKipjdXJyZW50X2R5bmFtaWNfbGlzdF9wOwor CiBleHRlcm4gaW50IGxhbmdfc3RhdGVtZW50X2l0ZXJhdGlvbjsKIGV4dGVybiBzdHJ1Y3QgYXNu ZWVkZWRfbWluZm8gKiphc25lZWRlZF9saXN0X3RhaWw7CiAKQEAgLTY3Myw3ICs2NzUsOCBAQCBl eHRlcm4gc3RydWN0IGJmZF9lbGZfdmVyc2lvbl9kZXBzICpsYW5nX2FkZF92ZXJzX2RlcGVuZAog ICAoc3RydWN0IGJmZF9lbGZfdmVyc2lvbl9kZXBzICosIGNvbnN0IGNoYXIgKik7CiBleHRlcm4g dm9pZCBsYW5nX3JlZ2lzdGVyX3ZlcnNfbm9kZQogICAoY29uc3QgY2hhciAqLCBzdHJ1Y3QgYmZk X2VsZl92ZXJzaW9uX3RyZWUgKiwgc3RydWN0IGJmZF9lbGZfdmVyc2lvbl9kZXBzICopOwotZXh0 ZXJuIHZvaWQgbGFuZ19hcHBlbmRfZHluYW1pY19saXN0IChzdHJ1Y3QgYmZkX2VsZl92ZXJzaW9u X2V4cHIgKik7CitleHRlcm4gdm9pZCBsYW5nX2FwcGVuZF9keW5hbWljX2xpc3QgKHN0cnVjdCBi ZmRfZWxmX2R5bmFtaWNfbGlzdCAqKiwKKwkJCQkgICAgICBzdHJ1Y3QgYmZkX2VsZl92ZXJzaW9u X2V4cHIgKik7CiBleHRlcm4gdm9pZCBsYW5nX2FwcGVuZF9keW5hbWljX2xpc3RfY3BwX3R5cGVp bmZvICh2b2lkKTsKIGV4dGVybiB2b2lkIGxhbmdfYXBwZW5kX2R5bmFtaWNfbGlzdF9jcHBfbmV3 ICh2b2lkKTsKIGV4dGVybiB2b2lkIGxhbmdfYWRkX3VuaXF1ZQpkaWZmIC0tZ2l0IGEvbGQvbGRs ZXguaCBiL2xkL2xkbGV4LmgKaW5kZXggMzE4YWM3YTc4OS4uNjM4ODI0N2I0NSAxMDA2NDQKLS0t IGEvbGQvbGRsZXguaAorKysgYi9sZC9sZGxleC5oCkBAIC04MSw2ICs4MSw4IEBAIGVudW0gb3B0 aW9uX3ZhbHVlcwogICBPUFRJT05fRFlOQU1JQ19MSVNUX0NQUF9ORVcsCiAgIE9QVElPTl9EWU5B TUlDX0xJU1RfQ1BQX1RZUEVJTkZPLAogICBPUFRJT05fRFlOQU1JQ19MSVNUX0RBVEEsCisgIE9Q VElPTl9FWFBPUlRfRFlOQU1JQ19TWU1CT0wsCisgIE9QVElPTl9FWFBPUlRfRFlOQU1JQ19TWU1C T0xfTElTVCwKICAgT1BUSU9OX1dBUk5fQ09NTU9OLAogICBPUFRJT05fV0FSTl9DT05TVFJVQ1RP UlMsCiAgIE9QVElPTl9XQVJOX0ZBVEFMLApkaWZmIC0tZ2l0IGEvbGQvbGV4c3VwLmMgYi9sZC9s ZXhzdXAuYwppbmRleCA0MTJlMmU2MDI2Li40ODA4Zjc0NDNkIDEwMDY0NAotLS0gYS9sZC9sZXhz dXAuYworKysgYi9sZC9sZXhzdXAuYwpAQCAtNTA0LDYgKzUwNCwxMCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGxkX29wdGlvbiBsZF9vcHRpb25zW10gPQogICAgICdcMCcsIE5VTEwsIE5fKCJVc2Ug QysrIHR5cGVpbmZvIGR5bmFtaWMgbGlzdCIpLCBUV09fREFTSEVTIH0sCiAgIHsgeyJkeW5hbWlj LWxpc3QiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUSU9OX0RZTkFNSUNfTElTVH0sCiAg ICAgJ1wwJywgTl8oIkZJTEUiKSwgTl8oIlJlYWQgZHluYW1pYyBsaXN0IiksIFRXT19EQVNIRVMg fSwKKyAgeyB7ImV4cG9ydC1keW5hbWljLXN5bWJvbCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxM LCBPUFRJT05fRVhQT1JUX0RZTkFNSUNfU1lNQk9MfSwKKyAgICAnXDAnLCBOXygiU1lNQk9MIiks IE5fKCJFeHBvcnQgdGhlIHNwZWNpZmllZCBzeW1ib2wiKSwgRVhBQ1RMWV9UV09fREFTSEVTIH0s CisgIHsgeyJleHBvcnQtZHluYW1pYy1zeW1ib2wtbGlzdCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBO VUxMLCBPUFRJT05fRVhQT1JUX0RZTkFNSUNfU1lNQk9MX0xJU1R9LAorICAgICdcMCcsIE5fKCJG SUxFIiksIE5fKCJSZWFkIGV4cG9ydCBkeW5hbWljIHN5bWJvbCBsaXN0IiksIEVYQUNUTFlfVFdP X0RBU0hFUyB9LAogICB7IHsid2Fybi1jb21tb24iLCBub19hcmd1bWVudCwgTlVMTCwgT1BUSU9O X1dBUk5fQ09NTU9OfSwKICAgICAnXDAnLCBOVUxMLCBOXygiV2FybiBhYm91dCBkdXBsaWNhdGUg Y29tbW9uIHN5bWJvbHMiKSwgVFdPX0RBU0hFUyB9LAogICB7IHsid2Fybi1jb25zdHJ1Y3RvcnMi LCBub19hcmd1bWVudCwgTlVMTCwgT1BUSU9OX1dBUk5fQ09OU1RSVUNUT1JTfSwKQEAgLTU4OCw2 ICs1OTIsNyBAQCBwYXJzZV9hcmdzICh1bnNpZ25lZCBhcmdjLCBjaGFyICoqYXJndikKICAgICBk eW5hbWljX2xpc3RfZGF0YSwKICAgICBkeW5hbWljX2xpc3QKICAgfSBvcHRfZHluYW1pY19saXN0 ID0gZHluYW1pY19saXN0X3Vuc2V0OworICBzdHJ1Y3QgYmZkX2VsZl9keW5hbWljX2xpc3QgKmV4 cG9ydF9saXN0ID0gTlVMTDsKIAogICBzaG9ydG9wdHMgPSAoY2hhciAqKSB4bWFsbG9jIChPUFRJ T05fQ09VTlQgKiAzICsgMik7CiAgIGxvbmdvcHRzID0gKHN0cnVjdCBvcHRpb24gKikKQEAgLTE0 MTksMTEgKzE0MjQsMzUgQEAgcGFyc2VfYXJncyAodW5zaWduZWQgYXJnYywgY2hhciAqKmFyZ3Yp CiAJICAgIGxkZmlsZV9vcGVuX2NvbW1hbmRfZmlsZSAob3B0YXJnKTsKIAkgICAgc2F2ZWRfc2Ny aXB0X2hhbmRsZSA9IGhvbGRfc2NyaXB0X2hhbmRsZTsKIAkgICAgcGFyc2VyX2lucHV0ID0gaW5w dXRfZHluYW1pY19saXN0OworCSAgICBjdXJyZW50X2R5bmFtaWNfbGlzdF9wID0gJmxpbmtfaW5m by5keW5hbWljX2xpc3Q7CiAJICAgIHl5cGFyc2UgKCk7CiAJICB9CiAJICBpZiAob3B0X2R5bmFt aWNfbGlzdCAhPSBkeW5hbWljX2xpc3RfZGF0YSkKIAkgICAgb3B0X2R5bmFtaWNfbGlzdCA9IGR5 bmFtaWNfbGlzdDsKIAkgIGJyZWFrOworCWNhc2UgT1BUSU9OX0VYUE9SVF9EWU5BTUlDX1NZTUJP TDoKKwkgIHsKKwkgICAgc3RydWN0IGJmZF9lbGZfdmVyc2lvbl9leHByICpleHByCisJICAgICAg PSBsYW5nX25ld192ZXJzX3BhdHRlcm4gKE5VTEwsIHhzdHJkdXAgKG9wdGFyZyksIE5VTEwsCisJ CQkJICAgICAgIEZBTFNFKTsKKwkgICAgbGFuZ19hcHBlbmRfZHluYW1pY19saXN0ICgmZXhwb3J0 X2xpc3QsIGV4cHIpOworICAgICAgICAgIH0KKwkgIGJyZWFrOworCWNhc2UgT1BUSU9OX0VYUE9S VF9EWU5BTUlDX1NZTUJPTF9MSVNUOgorCSAgLyogVGhpcyBvcHRpb24gaW5kaWNhdGVzIGEgc21h bGwgc2NyaXB0IHRoYXQgb25seSBzcGVjaWZpZXMKKwkgICAgIGFuIGV4cG9ydCBsaXN0LiAgUmVh ZCBpdCwgYnV0IGRvbid0IGFzc3VtZSB0aGF0IHdlJ3ZlCisJICAgICBzZWVuIGEgbGlua2VyIHNj cmlwdC4gICovCisJICB7CisJICAgIEZJTEUgKmhvbGRfc2NyaXB0X2hhbmRsZTsKKworCSAgICBo b2xkX3NjcmlwdF9oYW5kbGUgPSBzYXZlZF9zY3JpcHRfaGFuZGxlOworCSAgICBsZGZpbGVfb3Bl bl9jb21tYW5kX2ZpbGUgKG9wdGFyZyk7CisJICAgIHNhdmVkX3NjcmlwdF9oYW5kbGUgPSBob2xk X3NjcmlwdF9oYW5kbGU7CisJICAgIHBhcnNlcl9pbnB1dCA9IGlucHV0X2R5bmFtaWNfbGlzdDsK KwkgICAgY3VycmVudF9keW5hbWljX2xpc3RfcCA9ICZleHBvcnRfbGlzdDsKKwkgICAgeXlwYXJz ZSAoKTsKKwkgIH0KKwkgIGJyZWFrOwogCWNhc2UgT1BUSU9OX1dBUk5fQ09NTU9OOgogCSAgY29u ZmlnLndhcm5fY29tbW9uID0gVFJVRTsKIAkgIGJyZWFrOwpAQCAtMTY2Niw2ICsxNjk1LDQ5IEBA IHBhcnNlX2FyZ3MgKHVuc2lnbmVkIGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgJiYgY29tbWFu ZF9saW5lLmNoZWNrX3NlY3Rpb25fYWRkcmVzc2VzIDwgMCkKICAgICBjb21tYW5kX2xpbmUuY2hl Y2tfc2VjdGlvbl9hZGRyZXNzZXMgPSAwOwogCisgIGlmIChleHBvcnRfbGlzdCkKKyAgICB7Cisg ICAgICBzdHJ1Y3QgYmZkX2VsZl92ZXJzaW9uX2V4cHIgKmhlYWQgPSBleHBvcnRfbGlzdC0+aGVh ZC5saXN0OworICAgICAgc3RydWN0IGJmZF9lbGZfdmVyc2lvbl9leHByICpuZXh0OworCisgICAg ICAvKiBGb3IgLS1leHBvcnQtZHluYW1pYy1zeW1ib2xbLWxpc3RdOgorCSAxLiBXaGVuIGJ1aWxk aW5nIGV4ZWN1dGFibGUsIHRyZWF0IGxpa2UgLS1keW5hbWljLWxpc3QuCisJIDIuIFdoZW4gYnVp bGRpbmcgc2hhcmVkIG9iamVjdDoKKwkgICAgYS4gSWYgLUJzeW1ib2xpYyBvciAtLWR5bmFtaWMt bGlzdCBhcmUgdXNlZCwgdHJlYXQgbGlrZQorCSAgICAgICAtLWR5bmFtaWMtbGlzdC4KKwkgICAg Yi4gT3RoZXJ3aXNlLCBpZ25vcmVkLgorICAgICAgICovCisgICAgICBpZiAoIWJmZF9saW5rX3Jl bG9jYXRhYmxlICgmbGlua19pbmZvKQorCSAgJiYgKGJmZF9saW5rX2V4ZWN1dGFibGUgKCZsaW5r X2luZm8pCisJICAgICAgfHwgb3B0X3N5bWJvbGljICE9IHN5bWJvbGljX3Vuc2V0CisJICAgICAg fHwgb3B0X2R5bmFtaWNfbGlzdCAhPSBkeW5hbWljX2xpc3RfdW5zZXQpKQorCXsKKwkgIC8qIEFw cGVuZCB0aGUgZXhwb3J0IGxpc3QgdG8gbGlua19pbmZvLmR5bmFtaWNfbGlzdC4gICovCisJICBp ZiAobGlua19pbmZvLmR5bmFtaWNfbGlzdCkKKwkgICAgeworCSAgICAgIGZvciAobmV4dCA9IGhl YWQ7IG5leHQtPm5leHQgIT0gTlVMTDsgbmV4dCA9IG5leHQtPm5leHQpCisJCTsKKwkgICAgICBu ZXh0LT5uZXh0ID0gbGlua19pbmZvLmR5bmFtaWNfbGlzdC0+aGVhZC5saXN0OworCSAgICAgIGxp bmtfaW5mby5keW5hbWljX2xpc3QtPmhlYWQubGlzdCA9IGhlYWQ7CisJICAgIH0KKwkgIGVsc2UK KwkgICAgbGlua19pbmZvLmR5bmFtaWNfbGlzdCA9IGV4cG9ydF9saXN0OworCisJICBpZiAob3B0 X2R5bmFtaWNfbGlzdCAhPSBkeW5hbWljX2xpc3RfZGF0YSkKKwkgICAgb3B0X2R5bmFtaWNfbGlz dCA9IGR5bmFtaWNfbGlzdDsKKwl9CisgICAgICBlbHNlCisJeworCSAgLyogRnJlZSB0aGUgZXhw b3J0IGxpc3QuICAqLworCSAgZm9yICg7IGhlYWQtPm5leHQgIT0gTlVMTDsgaGVhZCA9IG5leHQp CisJICAgIHsKKwkgICAgICBuZXh0ID0gaGVhZC0+bmV4dDsKKwkgICAgICBmcmVlIChoZWFkKTsK KwkgICAgfQorCSAgZnJlZSAoZXhwb3J0X2xpc3QpOworCX0KKyAgICB9CisKICAgc3dpdGNoIChv cHRfZHluYW1pY19saXN0KQogICAgIHsKICAgICBjYXNlIGR5bmFtaWNfbGlzdF91bnNldDoKZGlm ZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1keW5hbWljL2V4cG9ydC1keW5hbWljLXN5bWJvbC0x LmQgYi9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wtMS5kCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjI1YWUxMzAyM2UKLS0tIC9kZXYv bnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wt MS5kCkBAIC0wLDAgKzEsOSBAQAorI25hbWU6IC0tZXhwb3J0LWR5bmFtaWMtc3ltYm9sIGZvbyBh cmNoaXZlCisjc291cmNlOiBleHBvcnQtZHluYW1pYy1zeW1ib2wucworI2xkOiAtcGllIC0tZXhw b3J0LWR5bmFtaWMtc3ltYm9sIGZvbyB0bXBkaXIvbGlicHIyNTkxMC5hCisjbm06IC1uCisKKyNm YWlsaWYKKyMuLi4KK1swLTlhLWZdKyBUICtmb28KKyMuLi4KZGlmZiAtLWdpdCBhL2xkL3Rlc3Rz dWl0ZS9sZC1keW5hbWljL2V4cG9ydC1keW5hbWljLXN5bWJvbC0yLmQgYi9sZC90ZXN0c3VpdGUv bGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wtMi5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAuLmQzODUwOGE1YjUKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0 c3VpdGUvbGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wtMi5kCkBAIC0wLDAgKzEsOSBA QAorI25hbWU6IC11IC0tZXhwb3J0LWR5bmFtaWMtc3ltYm9sIGZvbyBhcmNoaXZlCisjc291cmNl OiBleHBvcnQtZHluYW1pYy1zeW1ib2wucworI2xkOiAtcGllIC11IGZvbyAtLWV4cG9ydC1keW5h bWljLXN5bWJvbCBmb28gLS1leHBvcnQtZHluYW1pYy1zeW1ib2w9YmFyIHRtcGRpci9saWJwcjI1 OTEwLmEKKyNubTogLUQKKworIy4uLgorWzAtOWEtZl0rIFQgK2JhcgorWzAtOWEtZl0rIFQgK2Zv bworIy4uLgpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFt aWMtc3ltYm9sLWdsb2IuZCBiL2xkL3Rlc3RzdWl0ZS9sZC1keW5hbWljL2V4cG9ydC1keW5hbWlj LXN5bWJvbC1nbG9iLmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZjgx ODdiZTc1YwotLS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1keW5hbWljL2V4cG9y dC1keW5hbWljLXN5bWJvbC1nbG9iLmQKQEAgLTAsMCArMSw4IEBACisjbmFtZTogLXUgLS1leHBv cnQtZHluYW1pYy1zeW1ib2wgImYqIiBhcmNoaXZlCisjc291cmNlOiBleHBvcnQtZHluYW1pYy1z eW1ib2wucworI2xkOiAtcGllIC11IGZvbyAtLWV4cG9ydC1keW5hbWljLXN5bWJvbCAiZioiIHRt cGRpci9saWJwcjI1OTEwLmEKKyNubTogLUQKKworIy4uLgorWzAtOWEtZl0rIFQgK2ZvbworIy4u LgpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFtaWMtc3lt Ym9sLWxpc3QtMS5kIGIvbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFtaWMtc3lt Ym9sLWxpc3QtMS5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmZjNThh ZjkzNTcKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9leHBvcnQt ZHluYW1pYy1zeW1ib2wtbGlzdC0xLmQKQEAgLTAsMCArMSw5IEBACisjbmFtZTogLS1leHBvcnQt ZHluYW1pYy1zeW1ib2wtbGlzdCBmb28gYXJjaGl2ZQorI3NvdXJjZTogZXhwb3J0LWR5bmFtaWMt c3ltYm9sLnMKKyNsZDogLXBpZSAtLWV4cG9ydC1keW5hbWljLXN5bWJvbC1saXN0IGZvby5saXN0 IHRtcGRpci9saWJwcjI1OTEwLmEKKyNubTogLW4KKworI2ZhaWxpZgorIy4uLgorWzAtOWEtZl0r IFQgK2ZvbworIy4uLgpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMvZXhwb3J0 LWR5bmFtaWMtc3ltYm9sLWxpc3QtMi5kIGIvbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMvZXhwb3J0 LWR5bmFtaWMtc3ltYm9sLWxpc3QtMi5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLjMzN2Y2NDJlZTkKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtZHlu YW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wtbGlzdC0yLmQKQEAgLTAsMCArMSw5IEBACisjbmFt ZTogLXUgLS1leHBvcnQtZHluYW1pYy1zeW1ib2wtbGlzdCBmb28gYmFyIGFyY2hpdmUKKyNzb3Vy Y2U6IGV4cG9ydC1keW5hbWljLXN5bWJvbC5zCisjbGQ6IC1waWUgLXUgZm9vIC0tZXhwb3J0LWR5 bmFtaWMtc3ltYm9sLWxpc3QgZm9vLWJhci5saXN0IHRtcGRpci9saWJwcjI1OTEwLmEKKyNubTog LUQKKworIy4uLgorWzAtOWEtZl0rIFQgK2JhcgorWzAtOWEtZl0rIFQgK2ZvbworIy4uLgpkaWZm IC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFtaWMtc3ltYm9sLWxp c3QtZ2xvYi5kIGIvbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMvZXhwb3J0LWR5bmFtaWMtc3ltYm9s LWxpc3QtZ2xvYi5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjkxNmEy MmNhMjMKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9leHBvcnQt ZHluYW1pYy1zeW1ib2wtbGlzdC1nbG9iLmQKQEAgLTAsMCArMSw4IEBACisjbmFtZTogLXUgLS1l eHBvcnQtZHluYW1pYy1zeW1ib2wtbGlzdCBmc3RhciBhcmNoaXZlCisjc291cmNlOiBleHBvcnQt ZHluYW1pYy1zeW1ib2wucworI2xkOiAtcGllIC11IGZvbyAtLWV4cG9ydC1keW5hbWljLXN5bWJv bC1saXN0IGZzdGFyLmxpc3QgdG1wZGlyL2xpYnByMjU5MTAuYQorI25tOiAtRAorCisjLi4uCitb MC05YS1mXSsgVCArZm9vCisjLi4uCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZHluYW1p Yy9leHBvcnQtZHluYW1pYy1zeW1ib2wuZXhwIGIvbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMvZXhw b3J0LWR5bmFtaWMtc3ltYm9sLmV4cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi5hZTUzMDM2MWZiCi0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWR5bmFt aWMvZXhwb3J0LWR5bmFtaWMtc3ltYm9sLmV4cApAQCAtMCwwICsxLDcwIEBACisjIEV4cGVjdCBz Y3JpcHQgZm9yIGxkIC0tZXhwb3J0LWR5bmFtaWMtc3ltYm9sIHRlc3RzCisjICAgQ29weXJpZ2h0 IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIworIyBUaGlzIGZpbGUg aXMgcGFydCBvZiB0aGUgR05VIEJpbnV0aWxzLgorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor IworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJ bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9uLAorIyBNQSAwMjEx MC0xMzAxLCBVU0EuCisjCisKK2lmICFbaXNfZWxmX2Zvcm1hdF0geworICAgIHJldHVybgorfQor CisjIFNraXAgdGFyZ2V0cyB3aGVyZSAtc2hhcmVkIGlzIG5vdCBzdXBwb3J0ZWQKKworaWYgIVtj aGVja19zaGFyZWRfbGliX3N1cHBvcnRdIHsKKyAgICByZXR1cm4KK30KKworc2V0IG9sZF9BU0ZM QUdTICRBU0ZMQUdTCisKKyMgVGhlc2UgdGFyZ2V0cyByZXF1aXJlIGV4dHJhIEdBUyBvcHRpb25z IHdoZW4gYnVpbGRpbmcgY29kZSBmb3Igc2hhcmVkCisjIGxpYnJhcmllcy4KK2lmIFtpc3Rhcmdl dCAibmRzMzIqLSoiXSB7CisgICAgYXBwZW5kIEFTRkxBR1MgIiAtbXBpYyIKK30KK2lmIFtpc3Rh cmdldCAidGljNngtKi0qIl0geworICAgIGFwcGVuZCBBU0ZMQUdTICIgLW1waWMgLW1waWQ9bmVh ciIKK30KK2lmIFtpc3RhcmdldCAic3BhcmMqLSotKiJdIHsKKyAgICBhcHBlbmQgQVNGTEFHUyAi IC1LIFBJQyAtQXY5IgorfQorCitzZXQgb2xkX0xERkxBR1MgJExERkxBR1MKKworIyBUaGVzZSB0 YXJnZXRzIHJlcXVpcmUgYSBub24tZGVmYXVsdCBlbXVsYXRpb24gZm9yIHN1Y2Nlc3NmdWwgc2hh cmVkCisjIGxpYnJhcnkvZXhlY3V0YWJsZSBidWlsZHMuCitpZiBbaXN0YXJnZXQgInRpYzZ4LSot KiJdIHsKKyAgICBhcHBlbmQgTERGTEFHUyAiIC1tZWxmMzJfdGljNnhfbGUiCit9CisKK3NldCBi dWlsZF90ZXN0cyB7CisgIHsiQnVpbGQgbGlicHIyNTkxMC5hIgorICAgIiIgIiIgIiIKKyAgIHtm b28uc30ge30gImxpYnByMjU5MTAuYSJ9Cit9CisKK3J1bl9sZF9saW5rX3Rlc3RzICRidWlsZF90 ZXN0cworCitzZXQgdGVzdF9saXN0IFtsc29ydCBbZ2xvYiAtbm9jb21wbGFpbiAkc3JjZGlyLyRz dWJkaXIvZXhwb3J0LWR5bmFtaWMtc3ltYm9sLSouZF1dCitmb3JlYWNoIHRlc3RfZmlsZSAkdGVz dF9saXN0IHsKKyAgICBzZXQgdGVzdF9uYW1lIFtmaWxlIHJvb3RuYW1lICR0ZXN0X2ZpbGVdCisg ICAgdmVyYm9zZSAkdGVzdF9uYW1lCisgICAgcnVuX2R1bXBfdGVzdCAkdGVzdF9uYW1lCit9CisK K3NldCBBU0ZMQUdTICRvbGRfQVNGTEFHUworc2V0IExERkxBR1MgJG9sZF9MREZMQUdTCmRpZmYg LS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wucyBi L2xkL3Rlc3RzdWl0ZS9sZC1keW5hbWljL2V4cG9ydC1keW5hbWljLXN5bWJvbC5zCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmM1NWRhNTM2YzUKLS0tIC9kZXYvbnVsbAor KysgYi9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9leHBvcnQtZHluYW1pYy1zeW1ib2wucwpAQCAt MCwwICsxLDE3IEBACisJLnRleHQKKwkuZ2xvYmFsIHN0YXJ0CS8qIFVzZWQgYnkgU0ggdGFyZ2V0 cy4gICovCitzdGFydDoKKwkuZ2xvYmFsIF9zdGFydAorX3N0YXJ0OgorCS5nbG9iYWwgX19zdGFy dAorX19zdGFydDoKKwkuZ2xvYmFsIG1haW4JLyogVXNlZCBieSBIUFBBIHRhcmdldHMuICAqLwor bWFpbjoKKwkuZ2xvYmwJX21haW4JLyogVXNlZCBieSBMeW54T1MgdGFyZ2V0cy4gICovCitfbWFp bjoKKwkud29yZCAwCisKKwkuc2VjdGlvbiAudGV4dC4xLCAiYXgiCisJLmdsb2JhbCBiYXIKK2Jh cjoKKwkud29yZCAwCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9mb28tYmFy Lmxpc3QgYi9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9mb28tYmFyLmxpc3QKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uODc3MzJlMWRlNAotLS0gL2Rldi9udWxsCisrKyBi L2xkL3Rlc3RzdWl0ZS9sZC1keW5hbWljL2Zvby1iYXIubGlzdApAQCAtMCwwICsxIEBACit7IGZv bzsgYmFyOyB9OwpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMvZm9vLmxpc3Qg Yi9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9mb28ubGlzdApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwLi5mODlmNTY5NDM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1 aXRlL2xkLWR5bmFtaWMvZm9vLmxpc3QKQEAgLTAsMCArMSBAQAoreyBmb287IH07CmRpZmYgLS1n aXQgYS9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9mb28ucyBiL2xkL3Rlc3RzdWl0ZS9sZC1keW5h bWljL2Zvby5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjRhNzAxODE3 NzYKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9mb28ucwpAQCAt MCwwICsxLDQgQEAKKwkudGV4dAorCS5nbG9ibCBmb28KK2ZvbzoKKwkuYnl0ZSAwCmRpZmYgLS1n aXQgYS9sZC90ZXN0c3VpdGUvbGQtZHluYW1pYy9mc3Rhci5saXN0IGIvbGQvdGVzdHN1aXRlL2xk LWR5bmFtaWMvZnN0YXIubGlzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw Li4zMzBkMWRkMmI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWR5bmFtaWMv ZnN0YXIubGlzdApAQCAtMCwwICsxIEBACit7IGYqOyB9OwpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1 aXRlL2xkLWVsZi9kbGVtcHR5Lmxpc3QgYi9sZC90ZXN0c3VpdGUvbGQtZWxmL2RsZW1wdHkubGlz dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi45YjM4ODRiMTBlCi0tLSAv ZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9kbGVtcHR5Lmxpc3QKQEAgLTAsMCAr MSwzIEBACit7CisgIGVtcHR5OworfTsKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYv c2hhcmVkLmV4cCBiL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvc2hhcmVkLmV4cAppbmRleCA3ZDM1ZjNm Mzc5Li41NjA2Yzk5MzdmIDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtZWxmL3NoYXJlZC5l eHAKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9zaGFyZWQuZXhwCkBAIC02MDEsNiArNjAxLDI3 IEBAIHNldCBidWlsZF90ZXN0cyB7CiAgIHsiQnVpbGQgbGliZGwyZC5zbyB3aXRoIC0tZHluYW1p Yy1saXN0LWRhdGEgLUJzeW1ib2xpYyIKICAgICItc2hhcmVkIC1XbCwtQnN5bWJvbGljLC0tZHlu YW1pYy1saXN0LWRhdGEiICItZlBJQyIKICAgIHtkbDIuYyBkbDJ4eHguY30ge30gImxpYmRsMmQu c28ifQorICB7IkJ1aWxkIGxpYmRsMmUuc28gd2l0aCAtLWV4cG9ydC1keW5hbWljLXN5bWJvbD1m b28iCisgICAiLXNoYXJlZCAtV2wsLS1leHBvcnQtZHluYW1pYy1zeW1ib2w9Zm9vIiAiLWZQSUMi CisgICB7ZGwyLmMgZGwyeHh4LmN9IHt9ICJsaWJkbDJlLnNvIn0KKyAgeyJCdWlsZCBsaWJkbDJm LnNvIHdpdGggLS1keW5hbWljLWxpc3Q9ZGxlbXB0eS5saXN0IGFuZCAtLWV4cG9ydC1keW5hbWlj LXN5bWJvbD1mb28iCisgICAiLXNoYXJlZCAtV2wsLS1keW5hbWljLWxpc3Q9ZGxlbXB0eS5saXN0 LC0tZXhwb3J0LWR5bmFtaWMtc3ltYm9sPWZvbyIgIi1mUElDIgorICAge2RsMi5jIGRsMnh4eC5j fSB7fSAibGliZGwyZi5zbyJ9CisgIHsiQnVpbGQgbGliZGwyZy5zbyB3aXRoIC0tZXhwb3J0LWR5 bmFtaWMtc3ltYm9sLWxpc3Q9ZGwyLmxpc3QiCisgICAiLXNoYXJlZCAtV2wsLS1leHBvcnQtZHlu YW1pYy1zeW1ib2wtbGlzdD1kbDIubGlzdCIgIi1mUElDIgorICAge2RsMi5jIGRsMnh4eC5jfSB7 fSAibGliZGwyZy5zbyJ9CisgIHsiQnVpbGQgbGliZGwyaC5zbyB3aXRoIC0tZHluYW1pYy1saXN0 PWRsZW1wdHkubGlzdCBhbmQgLS1leHBvcnQtZHluYW1pYy1zeW1ib2wtbGlzdD1kbDIubGlzdCIK KyAgICItc2hhcmVkIC1XbCwtLWR5bmFtaWMtbGlzdD1kbGVtcHR5Lmxpc3QsLS1leHBvcnQtZHlu YW1pYy1zeW1ib2wtbGlzdD1kbDIubGlzdCIgIi1mUElDIgorICAge2RsMi5jIGRsMnh4eC5jfSB7 fSAibGliZGwyaC5zbyJ9CisgIHsiQnVpbGQgbGliZGwyaS5zbyB3aXRoIC1Cc3ltYm9saWMgYW5k IC0tZXhwb3J0LWR5bmFtaWMtc3ltYm9sPWZvbyIKKyAgICItc2hhcmVkIC1XbCwtQnN5bWJvbGlj LC0tZXhwb3J0LWR5bmFtaWMtc3ltYm9sPWZvbyIgIi1mUElDIgorICAge2RsMi5jIGRsMnh4eC5j fSB7fSAibGliZGwyaS5zbyJ9CisgIHsiQnVpbGQgbGliZGwyai5zbyB3aXRoIC1Cc3ltYm9saWMg YW5kIC0tZXhwb3J0LWR5bmFtaWMtc3ltYm9sLWxpc3Q9ZGwyLmxpc3QiCisgICAiLXNoYXJlZCAt V2wsLUJzeW1ib2xpYywtLWV4cG9ydC1keW5hbWljLXN5bWJvbC1saXN0PWRsMi5saXN0IiAiLWZQ SUMiCisgICB7ZGwyLmMgZGwyeHh4LmN9IHt9ICJsaWJkbDJqLnNvIn0KKyAgeyJCdWlsZCBsaWJk bDJrLnNvIHdpdGggLS1leHBvcnQtZHluYW1pYy1zeW1ib2wtbGlzdD1kbDIubGlzdCBhbmQgLUJz eW1ib2xpYyIKKyAgICItc2hhcmVkIC1XbCwtLWV4cG9ydC1keW5hbWljLXN5bWJvbC1saXN0PWRs Mi5saXN0LC1Cc3ltYm9saWMiICItZlBJQyIKKyAgIHtkbDIuYyBkbDJ4eHguY30ge30gImxpYmRs Mmsuc28ifQogICB7IkJ1aWxkIGxpYmRsNGEuc28gd2l0aCAtLWR5bmFtaWMtbGlzdD1kbDQubGlz dCIKICAgICItc2hhcmVkIC1XbCwtLWR5bmFtaWMtbGlzdD1kbDQubGlzdCIgIi1mUElDIgogICAg e2RsNC5jIGRsNHh4eC5jfSB7fSAibGliZGw0YS5zbyJ9CkBAIC04ODAsNiArOTAxLDI3IEBAIHNl dCBydW5fdGVzdHMgW2xpc3QgXAogICAgIFtsaXN0ICJSdW4gd2l0aCBsaWJkbDJkLnNvIiBcCiAg ICAgICItV2wsLS1uby1hcy1uZWVkZWQgdG1wZGlyL2xpYmRsMmQuc28iICIiIFwKICAgICAge2Rs Mm1haW4uY30gImRsMmQiICJkbDJhLm91dCIgXSBcCisgICAgW2xpc3QgIlJ1biB3aXRoIGxpYmRs MmUuc28iIFwKKyAgICAgIi1XbCwtLW5vLWFzLW5lZWRlZCB0bXBkaXIvbGliZGwyZS5zbyIgIiIg XAorICAgICB7ZGwybWFpbi5jfSAiZGwyZSIgImRsMmIub3V0IiBdIFwKKyAgICBbbGlzdCAiUnVu IHdpdGggbGliZGwyZi5zbyIgXAorICAgICAiLVdsLC0tbm8tYXMtbmVlZGVkIHRtcGRpci9saWJk bDJmLnNvIiAiIiBcCisgICAgIHtkbDJtYWluLmN9ICJkbDJmIiAiZGwyYS5vdXQiIF0gXAorICAg IFtsaXN0ICJSdW4gd2l0aCBsaWJkbDJnLnNvIiBcCisgICAgICItV2wsLS1uby1hcy1uZWVkZWQg dG1wZGlyL2xpYmRsMmcuc28iICIiIFwKKyAgICAge2RsMm1haW4uY30gImRsMmciICJkbDJiLm91 dCIgXSBcCisgICAgW2xpc3QgIlJ1biB3aXRoIGxpYmRsMmguc28iIFwKKyAgICAgIi1XbCwtLW5v LWFzLW5lZWRlZCB0bXBkaXIvbGliZGwyaC5zbyIgIiIgXAorICAgICB7ZGwybWFpbi5jfSAiZGwy aCIgImRsMmEub3V0IiBdIFwKKyAgICBbbGlzdCAiUnVuIHdpdGggbGliZGwyaS5zbyIgXAorICAg ICAiLVdsLC0tbm8tYXMtbmVlZGVkIHRtcGRpci9saWJkbDJpLnNvIiAiIiBcCisgICAgIHtkbDJt YWluLmN9ICJkbDJpIiAiZGwyYS5vdXQiIF0gXAorICAgIFtsaXN0ICJSdW4gd2l0aCBsaWJkbDJq LnNvIiBcCisgICAgICItV2wsLS1uby1hcy1uZWVkZWQgdG1wZGlyL2xpYmRsMmouc28iICIiIFwK KyAgICAge2RsMm1haW4uY30gImRsMmoiICJkbDJhLm91dCIgXSBcCisgICAgW2xpc3QgIlJ1biB3 aXRoIGxpYmRsMmsuc28iIFwKKyAgICAgIi1XbCwtLW5vLWFzLW5lZWRlZCB0bXBkaXIvbGliZGwy ay5zbyIgIiIgXAorICAgICB7ZGwybWFpbi5jfSAiZGwyayIgImRsMmEub3V0IiBdIFwKICAgICBb bGlzdCAiUnVuIHdpdGggbGliZGw0YS5zbyIgXAogICAgICAiLVdsLC0tbm8tYXMtbmVlZGVkIHRt cGRpci9saWJkbDRhLnNvIiAiIiBcCiAgICAgIHtkbDRtYWluLmN9ICJkbDRhIiAiZGw0YS5vdXQi IF0gXAotLSAKMi4yNi4yCgo= --000000000000386dfd05a6b4b2c3--