From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 6F1A21FF163 for ; Thu, 7 Nov 2024 17:59:25 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2273535B33; Thu, 7 Nov 2024 17:59:15 +0100 (CET) From: Fiona Ebner To: pve-devel@lists.proxmox.com Date: Thu, 7 Nov 2024 17:51:43 +0100 Message-Id: <20241107165146.125935-32-f.ebner@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241107165146.125935-1-f.ebner@proxmox.com> References: <20241107165146.125935-1-f.ebner@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.057 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [RFC container v3 31/34] restore tar archive: check potentially untrusted archive X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" J3RhcicgaXRzZWxmIGFscmVhZHkgcHJvdGVjdHMgYWdhaW5zdCAnLi4nIGluIGNvbXBvbmVudCBu YW1lcyBhbmQKc3RyaXBzIGFic29sdXRlIG1lbWJlciBuYW1lcyB3aGVuIGV4dHJhY3RpbmcgKGlm IG5vdCB1c2VkIHdpdGggdGhlCi0tYWJzb2x1dGUtbmFtZXMgb3B0aW9uKSBhbmQgaW4gZ2VuZXJh bCBzZWVtcyBzYW5lIGZvciBleHRyYWN0aW5nLgpBZGRpdGlvbmFsbHksIHRoZSBleHRyYWN0aW9u IGFscmVhZHkgaGFwcGVucyBpbiB0aGUgdXNlciBuYW1lc3BhY2UKYXNzb2NpYXRlZCB0byB0aGUg Y29udGFpbmVyLiBTbyBmb3Igbm93LCBzdGFydCBvdXQgd2l0aCBzb21lIGJhc2ljCnNhbml0eSBj aGVja3MuIFRoZSBoZWxwZXIgY2FuIHN0aWxsIGJlIGV4dGVuZGVkIHdpdGggbW9yZSBjaGVja3Mu CgpDaGVja3M6CgoqIGxpc3QgZmlsZXMgaW4gYXJjaGl2ZSAtIHdpbGwgYWxyZWFkeSBjYXRjaCBt YW55IGNvcnJ1cHRlZC9ib2d1cwogIGFyY2hpdmVzLgoKKiBjaGVjayB0aGF0IHRoZXJlIGFyZSBh dCBsZWFzdCAxMCBtZW1iZXJzIC0gc2hvdWxkIGFsc28gY2F0Y2gKICBhcmNoaXZlcyBub3QgYWN0 dWFsbHkgY29udGFpbmluZyBhIGNvbnRhaW5lciByb290IGZpbGVzeXN0ZW0gb3IKICBzdHJ1Y3R1 cmFsIGlzc3VlcyBlYXJseS4KCiogY2hlY2sgdGhhdCAvc2JpbiBkaXJlY3Rvcnkgb3IgbGluayBl eGlzdHMgaW4gYXJjaGl2ZSAtIGlkZWFsbHkgdGhlCiAgY2hlY2sgd291bGQgYmUgZm9yIC9zYmlu L2luaXQsIGJ1dCB0aGlzIGNhbm5vdCBiZSBkb25lIGVmZmljaWVudGx5CiAgYmVmb3JlIGV4dHJh Y3Rpb24sIGJlY2F1c2UgaXQgd291bGQgcmVxdWlyZSB0byBrZWVwIHRyYWNrIG9mIHRoZQogIHdo b2xlIGFyY2hpdmUgdG8gYmUgYWJsZSB0byBmb2xsb3cgc3ltbGlua3MuCgoqIGFib3J0IGlmIHRo ZXJlIGlzIGEgbXVsdGktdm9sdW1lIG1lbWJlciBpbiB0aGUgYXJjaGl2ZSAtIGNoZWFwIGFuZAog IGlzIG5ldmVyIGV4cGVjdGVkLgoKQ2hlY2tzIHRoYXQgd2VyZSBjb25zaWRlcmVkLCBidXQgbm90 ICh5ZXQpIGFkZGVkOgoKKiBhYm9ydCB3aGVuIGEgZmlsZSBoYXMgdW5yZWFsaXN0aWNhbGx5IGxh cmdlIHNpemUgLSB3aGlsZSB0aGlzIGNvdWxkCiAgaGVscCB0byBkZXRlY3QgY2VydGFpbiBraW5k cyBvZiBib2d1cyBhcmNoaXZlcywgdGhlcmUgY2FuIGJlIHZhbGlkLgogIHVzZSBjYXNlcyBmb3Ig ZXh0cmVtZWx5IGxhcmdlIHNwYXJzZSBmaWxlcywgc28gaXQncyBub3QgY2xlYXIgd2hhdAogIGEg Z29vZCBsaW1pdCB3b3VsZCBiZSAoMSBFaUIgbWF5YmU/KS4gQWxzbywgYW4gYXR0YWNrZXIgY291 bGQganVzdAogIGFkYXB0IHRvIHN1Y2ggYSBsaW1pdCBjcmVhdGluZyBtdWx0aXBsZSBmaWxlcyBh bmQgdGhlIGFjdHVhbAogIGV4dHJhY3Rpb24gaXMgYWxyZWFkeSBsaW1pdGVkIGJ5IHRoZSBzaXpl IG9mIHRoZSBhbGxvY2F0ZWQgY29udGFpbmVyCiAgdm9sdW1lLgoKKiBjaGVjayB0aGF0IC9zYmlu L2luaXQgZXhpc3RzIGFmdGVyIGV4dHJhY3RpbmcgLSBjYW5ub3QgYmUgZG9uZQogIGVmZmljaWVu dGx5IGJlZm9yZSBleHRyYWN0aW9uLCBiZWNhdXNlIGl0IHdvdWxkIHJlcXVpcmUgdG8ga2VlcAog IHRyYWNrIG9mIHRoZSB3aG9sZSBhcmNoaXZlIHRvIGJlIGFibGUgdG8gZm9sbG93IHN5bWxpbmtz LiBEdXJpbmcKICBzZXR1cCB0aGVyZSBhbHJlYWR5IGlzIGRldGVjdGlvbiBvZiAvZXRjL29zLXJl bGVhc2UsIHNvIGlzc3VlcyB3aXRoCiAgdGhlIHN0cnVjdHVyZSB3aWxsIGFscmVhZHkgYmUgbm90 aWNlZC4gQWRkaW5nIGEgaGFyZCBmYWlsIGZvcgogIHVudHJ1c3RlZCBhcmNoaXZlcyB3b3VsZCBy ZXF1aXJlIGVpdGhlciBwYXNzaW5nIHRoYXQgaW5mb3JtYXRpb24gdG8KICB0aGUgc2V0dXAgcGhh c2Ugb3IgZXh0cmFjdGluZyB0aGUgcHJvdGVjdGVkX2NhbGwgbWV0aG9kIGZyb20gdGhlcmUKICBp bnRvIGEgaGVscGVyLgoKKiBhZGRpbmcgJ3Jlc3RyaWN0JyB0byB0aGUgKGNvbW1vbikgdGFyIGZs YWdzIC0gdGhlIHRhciBtYW51YWwgKG5vdAogIHRoZSBtYW4gcGFnZSkgZG9jdW1lbnRzOiAiRGlz YWJsZSB1c2Ugb2Ygc29tZSBwb3RlbnRpYWxseSBoYXJtZnVsCiAgJ3Rhcicgb3B0aW9ucy4gIEN1 cnJlbnRseSB0aGlzIG9wdGlvbiBkaXNhYmxlcyBzaGVsbCBpbnZvY2F0aW9uIGZyb20KICBtdWx0 aS12b2x1bWUgbWVudS4iLiBUaGUgZmxhZyB3YXMgaW50cm9kdWNlZCBpbiAyMDA1IGFuZCB0aGlz IGlzCiAgc3RpbGwgdGhlIG9ubHkgdGhpbmcgaXQgaXMgdXNlZCBmb3IuIFRyeWluZyB0byByZXN0 b3JlIGEKICBtdWx0aS12b2x1bWUgYXJjaGl2ZSBhbHJlYWR5IGZhaWxzIHdpdGhvdXQgZ2l2aW5n IG11bHRpcGxlICctLWZpbGUnCiAgYXJndW1lbnRzIGFuZCAnLS1tdWx0aS12b2x1bWUnLCBzbyBk b24ndCBib3RoZXIgYWRkaW5nIHRoZSBmbGFnLgoKKiBjaGVjayBmb3JtYXQgb2YgdGFyIGZpbGUg LSB3b3VsZCByZXF1aXJlIHlldCBhbm90aGVyIGludm9jYXRpb24gb2YKICB0aGUgZGVjb21wcmVz c29yIGFuZCB0aGVyZSBzZWVtcyB0byBiZSBubyBidWlsdC1pbiB3YXkgdG8ganVzdAogIGRpc3Bs YXkgdGhlIGZvcm1hdCB3aXRoICd0YXInLiBUaGUgJ2ZpbGUnIHByb2dyYW0gY291bGQgYmUgdXNl ZCwgYnV0CiAgaXQgc2VlbXMgdG8gbm90IG1ha2UgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIG9sZCBH TlUgYW5kIEdOVSBhbmQgb2xkCiAgUE9TSVggYW5kIFBPU0lYIGZvcm1hdHMsIHdpdGggdGhlIG9s ZCBvbmVzIGJlaW5nIGNhbmRpZGF0ZXMgdG8KICBwcm9oaWJpdC4gU28gdGhhdCB3b3VsZCBsZWF2 ZSBqdXN0IGRldGVjdGluZyB0aGUgb2xkICd2NycgZm9ybWF0LgoKU3VnZ2VzdGVkLWJ5OiBGYWJp YW4gR3LDvG5iaWNobGVyIDxmLmdydWVuYmljaGxlckBwcm94bW94LmNvbT4KU2lnbmVkLW9mZi1i eTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+Ci0tLQoKTmV3IGluIHYzLgoKIHNy Yy9QVkUvTFhDL0NyZWF0ZS5wbSB8IDY3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyYy9QVkUvTFhDL0NyZWF0ZS5wbSBiL3NyYy9QVkUvTFhDL0Ny ZWF0ZS5wbQppbmRleCBkMmY2NzVlLi5iZjQyNGY2IDEwMDY0NAotLS0gYS9zcmMvUFZFL0xYQy9D cmVhdGUucG0KKysrIGIvc3JjL1BWRS9MWEMvQ3JlYXRlLnBtCkBAIC05OSwxMiArOTksNjUgQEAg bXkgc3ViIHRhcl9jb21wcmVzc2lvbl9vcHRpb24gewogICAgIH0KIH0KIAorIyBCYXNpYyBjaGVj a3MgdHJ5aW5nIHRvIGRldGVjdCBpc3N1ZXMgd2l0aCBhIHBvdGVudGlhbGx5IHVudHJ1c3RlZCBv ciBib2d1cyB0YXIgYXJjaGl2ZS4KKyMgSnVzdCBsaXN0aW5nIHRoZSBmaWxlcyBpcyBhbHJlYWR5 IGEgZ29vZCBjaGVjayBhZ2FpbnN0IGNvcnJ1cHRpb24uCisjICd0YXInIGl0c2VsZiBhbHJlYWR5 IHByb3RlY3RzIGFnYWluc3QgJy4uJyBpbiBjb21wb25lbnQgbmFtZXMgYW5kIHN0cmlwcyBhYnNv bHV0ZSBtZW1iZXIgbmFtZXMKKyMgd2hlbiBleHRyYWN0aW5nLCBzbyBubyBuZWVkIHRvIGNoZWNr IGZvciB0aG9zZSBoZXJlLgorbXkgc3ViIGNoZWNrX3Rhcl9hcmNoaXZlIHsKKyAgICBteSAoJGFy Y2hpdmUpID0gQF87CisKKyAgICBwcmludCAiY2hlY2tpbmcgYXJjaGl2ZS4uXG4iOworCisgICAg IyBUbyByZXNvbHZlIGxpbmtzIHRvIGdldCB0byAnc2Jpbi9pbml0JyB3b3VsZCBtZWFuIGtlZXBp bmcgdHJhY2sgb2YgZXZlcnl0aGluZyBpbiB0aGUgYXJjaGl2ZSwKKyAgICAjIGJlY2F1c2UgdGhl IHRhcmdldCBtaWdodCBiZSBvcmRlcmVkIGZpcnN0LiBDaGVjayBvbmx5IHRoYXQgJ3NiaW4nIGV4 aXN0cyBoZXJlLgorICAgIG15ICRmb3VuZF9zYmluOworCisgICAgIyBKdXN0IHRvIGRldGVjdCBi b2d1cyBhcmNoaXZlcywgYW55IHZhbGlkIGNvbnRhaW5lciBmaWxlc3lzdGVtIHNob3VsZCBoYXZl IG1vcmUgdGhhbiB0aGlzLgorICAgIG15ICRyZXF1aXJlZF9tZW1iZXJzID0gMTA7CisgICAgbXkg JG1lbWJlcl9jb3VudCA9IDA7CisKKyAgICBteSAkY2hlY2tfZmlsZV9saXN0ID0gc3ViIHsKKwlt eSAoJGxpbmUpID0gQF87CisKKwkjIFRoZSBkYXRlIGlzIGluIElTTyA4NjAxIGZvcm1hdC4gVGhl IGxhc3QgcGFydCBjb250YWlucyB0aGUgcG90ZW50aWFsbHkgcXVvdGVkIGZpbGUgbmFtZSwKKwkj IHBvdGVudGlhbGx5IGZvbGxvd2VkIGJ5IHNvbWUgYWRkaXRpb25hbCBpbmZvIChlLmcuIHdoZXJl IGEgbGluayBwb2ludHMgdG8pLgorCW15ICgkdHlwZSwgJHBlcm1zLCAkdWlkLCAkZ2lkLCAkc2l6 ZSwgJGRhdGUsICR0aW1lLCAkZmlsZV9pbmZvKSA9CisJICAgICRsaW5lID1+IG0hXihbYS16QS1a XC1dKShcUyspXHMrKFxkKykvKFxkKylccysoXGQrKVxzKyhcUyspXHMrKFxTKylccysoLiopJCE7 CisKKwlkaWUgImZvdW5kIG11bHRpLXZvbHVtZSBtZW1iZXIgaW4gYXJjaGl2ZVxuIiBpZiAkdHlw ZSBlcSAnTSc7CisKKwlpZiAoISRmb3VuZF9zYmluICYmICgKKwkgICAgKCRmaWxlX2luZm8gPX4g bSFeKD86XC4vKT9zYmluLyQhICYmICR0eXBlIGVxICdkJykKKwkgICAgfHwgKCRmaWxlX2luZm8g PX4gbSFeKD86XC4vKT9zYmluIC0+ISAmJiAkdHlwZSBlcSAnbCcpCisJICAgIHx8ICgkZmlsZV9p bmZvID1+IG0hXig/OlwuLyk/c2JpbiBsaW5rIHRvISAmJiAkdHlwZSBlcSAnaCcpCisJKSkgewor CSAgICAkZm91bmRfc2JpbiA9IDE7CisJfQorCisJJG1lbWJlcl9jb3VudCsrOworICAgIH07CisK KyAgICBteSAkY29tcHJlc3Npb25fb3B0ID0gdGFyX2NvbXByZXNzaW9uX29wdGlvbigkYXJjaGl2 ZSk7CisKKyAgICBteSAkY21kID0gWyd0YXInLCAnLXR2ZicsICRhcmNoaXZlXTsKKyAgICBwdXNo ICRjbWQtPkAqLCAkY29tcHJlc3Npb25fb3B0IGlmICRjb21wcmVzc2lvbl9vcHQ7CisgICAgcHVz aCAkY21kLT5AKiwgJy0tbnVtZXJpYy1vd25lcic7CisKKyAgICBQVkU6OlRvb2xzOjpydW5fY29t bWFuZCgkY21kLCBvdXRmdW5jID0+ICRjaGVja19maWxlX2xpc3QpOworCisgICAgZGllICJubyAn c2JpbicgZGlyZWN0b3J5IChvciBsaW5rKSBmb3VuZCBpbiBhcmNoaXZlICckYXJjaGl2ZSdcbiIg aWYgISRmb3VuZF9zYmluOworICAgIGRpZSAibGVzcyB0aGFuIDEwIG1lbWJlcnMgaW4gYXJjaGl2 ZSAnJGFyY2hpdmUnXG4iIGlmICRtZW1iZXJfY291bnQgPCAkcmVxdWlyZWRfbWVtYmVyczsKK30K KwogbXkgc3ViIHJlc3RvcmVfdGFyX2FyY2hpdmVfY29tbWFuZCB7Ci0gICAgbXkgKCRjb25mLCAk Y29tcHJlc3Npb25fb3B0LCAkcm9vdGRpciwgJGJ3bGltaXQpID0gQF87CisgICAgbXkgKCRjb25m LCAkY29tcHJlc3Npb25fb3B0LCAkcm9vdGRpciwgJGJ3bGltaXQsICR1bnRydXN0ZWQpID0gQF87 CiAKICAgICBteSAoJGlkX21hcCwgJHJvb3RfdWlkLCAkcm9vdF9naWQpID0gUFZFOjpMWEM6OnBh cnNlX2lkX21hcHMoJGNvbmYpOwogICAgIG15ICR1c2VybnNfY21kID0gUFZFOjpMWEM6OnVzZXJu c19jb21tYW5kKCRpZF9tYXApOwogCisgICAgZGllICJyZWZ1c2luZyB0byByZXN0b3JlIHByaXZp bGVnZWQgY29udGFpbmVyIGJhY2t1cCBmcm9tIGV4dGVybmFsIHNvdXJjZVxuIgorCWlmICR1bnRy dXN0ZWQgJiYgKCRyb290X3VpZCA9PSAwIHx8ICRyb290X2dpZCA9PSAwKTsKKwogICAgIG15ICRj bWQgPSBbQCR1c2VybnNfY21kLCAndGFyJywgJ3hwZicsICctJ107CiAgICAgcHVzaCAkY21kLT5A KiwgJGNvbXByZXNzaW9uX29wdCBpZiAkY29tcHJlc3Npb25fb3B0OwogICAgIHB1c2ggJGNtZC0+ QCosICctLXRvdGFscyc7CkBAIC0xMjcsNyArMTgwLDcgQEAgbXkgc3ViIHJlc3RvcmVfdGFyX2Fy Y2hpdmVfY29tbWFuZCB7CiB9CiAKIHN1YiByZXN0b3JlX3Rhcl9hcmNoaXZlIHsKLSAgICBteSAo JGFyY2hpdmUsICRyb290ZGlyLCAkY29uZiwgJG5vX3VucGFja19lcnJvciwgJGJ3bGltaXQpID0g QF87CisgICAgbXkgKCRhcmNoaXZlLCAkcm9vdGRpciwgJGNvbmYsICRub191bnBhY2tfZXJyb3Is ICRid2xpbWl0LCAkdW50cnVzdGVkKSA9IEBfOwogCiAgICAgbXkgJGFyY2hpdmVfZmg7CiAgICAg bXkgJHRhcl9pbnB1dCA9ICc8JlNURElOJzsKQEAgLTE0Miw3ICsxOTUsMTIgQEAgc3ViIHJlc3Rv cmVfdGFyX2FyY2hpdmUgewogCSR0YXJfaW5wdXQgPSAnPCYnLmZpbGVubygkYXJjaGl2ZV9maCk7 CiAgICAgfQogCi0gICAgbXkgJGNtZCA9IHJlc3RvcmVfdGFyX2FyY2hpdmVfY29tbWFuZCgkY29u ZiwgJGNvbXByZXNzaW9uX29wdCwgJHJvb3RkaXIsICRid2xpbWl0KTsKKyAgICBpZiAoJHVudHJ1 c3RlZCkgeworCWRpZSAiY2Fubm90IHZlcmlmeSB1bnRydXN0ZWQgYXJjaGl2ZSBvbiBTVERJTlxu IiBpZiAkYXJjaGl2ZSBlcSAnLSc7CisJY2hlY2tfdGFyX2FyY2hpdmUoJGFyY2hpdmUpOworICAg IH0KKworICAgIG15ICRjbWQgPSByZXN0b3JlX3Rhcl9hcmNoaXZlX2NvbW1hbmQoJGNvbmYsICRj b21wcmVzc2lvbl9vcHQsICRyb290ZGlyLCAkYndsaW1pdCwgJHVudHJ1c3RlZCk7CiAKICAgICBp ZiAoJGFyY2hpdmUgZXEgJy0nKSB7CiAJcHJpbnQgImV4dHJhY3RpbmcgYXJjaGl2ZSBmcm9tIFNU RElOXG4iOwpAQCAtMTcwLDcgKzIyOCw3IEBAIHN1YiByZXN0b3JlX2V4dGVybmFsX2FyY2hpdmUg ewogCSAgICBteSAkdGFyX3BhdGggPSAkaW5mby0+eyd0YXItcGF0aCd9CiAJCW9yIGRpZSAiZGlk IG5vdCBnZXQgcGF0aCB0byB0YXIgZmlsZSBmcm9tIGJhY2t1cCBwcm92aWRlclxuIjsKIAkgICAg ZGllICJub3QgYSByZWd1bGFyIGZpbGUgJyR0YXJfcGF0aCciIGlmICEtZiAkdGFyX3BhdGg7Ci0J ICAgIHJlc3RvcmVfdGFyX2FyY2hpdmUoJHRhcl9wYXRoLCAkcm9vdGRpciwgJGNvbmYsICRub191 bnBhY2tfZXJyb3IsICRid2xpbWl0KTsKKwkgICAgcmVzdG9yZV90YXJfYXJjaGl2ZSgkdGFyX3Bh dGgsICRyb290ZGlyLCAkY29uZiwgJG5vX3VucGFja19lcnJvciwgJGJ3bGltaXQsIDEpOwogCX0g ZWxzaWYgKCRtZWNoYW5pc20gZXEgJ2RpcmVjdG9yeScpIHsKIAkgICAgbXkgJGRpcmVjdG9yeSA9 ICRpbmZvLT57J2FyY2hpdmUtZGlyZWN0b3J5J30KIAkJb3IgZGllICJkaWQgbm90IGdldCBwYXRo IHRvIGFyY2hpdmUgZGlyZWN0b3J5IGZyb20gYmFja3VwIHByb3ZpZGVyXG4iOwpAQCAtMTg5LDYg KzI0Nyw3IEBAIHN1YiByZXN0b3JlX2V4dGVybmFsX2FyY2hpdmUgewogCQknLicsCiAJICAgIF07 CiAKKwkgICAgIyBhcmNoaXZlIGlzIHRydXN0ZWQsIHdlIGNyZWF0ZWQgaXQKIAkgICAgbXkgJGV4 dHJhY3RfY21kID0gcmVzdG9yZV90YXJfYXJjaGl2ZV9jb21tYW5kKCRjb25mLCB1bmRlZiwgJHJv b3RkaXIsICRid2xpbWl0KTsKIAogCSAgICBldmFsIHsgUFZFOjpUb29sczo6cnVuX2NvbW1hbmQo WyRjcmVhdGVfY21kLCAkZXh0cmFjdF9jbWRdKTsgfTsKLS0gCjIuMzkuNQoKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBs aXN0CnB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29t L2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK