From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pbs-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 7C0C61FF15C for <inbox@lore.proxmox.com>; Wed, 19 Mar 2025 10:23:44 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 1D85A59A3; Wed, 19 Mar 2025 10:23:34 +0100 (CET) Message-ID: <9ab3a041-6abb-405f-b232-f687802e81ce@proxmox.com> Date: Wed, 19 Mar 2025 10:22:58 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Thomas Lamprecht <t.lamprecht@proxmox.com>, Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com> References: <20250306145252.565270-1-c.ebner@proxmox.com> <20250306145252.565270-4-c.ebner@proxmox.com> <07f3fa30-7892-419b-b5ae-47e9de57ab9b@proxmox.com> Content-Language: en-US, de-DE From: Christian Ebner <c.ebner@proxmox.com> In-Reply-To: <07f3fa30-7892-419b-b5ae-47e9de57ab9b@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.031 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 SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pbs-devel] [PATCH v5 proxmox-backup 3/8] fix #5982: garbage collection: check atime updates are honored X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion <pbs-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/> List-Post: <mailto:pbs-devel@lists.proxmox.com> List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com> Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com> T24gMy8xOS8yNSAwOTo0NSwgVGhvbWFzIExhbXByZWNodCB3cm90ZToKPiBBbSAwNi4wMy4yNSB1 bSAxNTo1MiBzY2hyaWViIENocmlzdGlhbiBFYm5lcjoKPj4gQ2hlY2sgaWYgdGhlIGZpbGVzeXN0 ZW0gYmFja2luZyB0aGUgY2h1bmsgc3RvcmUgYWN0dWFsbHkgdXBkYXRlcyB0aGUKPj4gYXRpbWUg dG8gYXZvaWQgcG90ZW50aWFsIGRhdGEgbG9zcyBpbiBwaGFzZSAyIG9mIGdhcmJhZ2UgY29sbGVj dGlvbiwKPj4gaW4gY2FzZSB0aGUgYXRpbWUgdXBkYXRlIGlzIG5vdCBob25vcmVkLgo+Pgo+PiBQ ZXJmb3JtIHRoZSBjaGVjayBiZWZvcmUgcGhhc2UgMSBvZiBnYXJiYWdlIGNvbGxlY3Rpb24sIGFz IHdlbGwgYXMKPj4gb24gZGF0YXN0b3JlIGNyZWF0aW9uLiBUaGUgbGF0dGVyIHRvIGVhcmx5IGRl dGVjdCBhbmQgZGlzYWxsb3cKPj4gZGF0YXN0b3JlIGNyZWF0aW9uIG9uIGZpbGVzeXN0ZW0gY29u ZmlndXJhdGlvbnMgd2hpY2ggb3RoZXJ3aXNlIG1vc3QKPj4gbGlrZWx5IHdvdWxkIGxlYWQgdG8g ZGF0YSBsb3NzZXMuCj4+Cj4+IEVuYWJsZSB0aGUgYXRpbWUgdXBkYXRlIGNoZWNrIGJ5IGRlZmF1 bHQsIGJ1dCBhbGxvdyB0byBvcHQtb3V0IGJ5Cj4+IHNldHRpbmcgYSBkYXRhc3RvcmUgdHVuaW5n IHBhcmFtZXRlciBmbGFnIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KPj4gVGhpcyBpcyBo b25vcmVkIGJ5IGJvdGgsIGdhcmJhZ2UgY29sbGVjdGlvbiBhbmQgZGF0YXN0b3JlIGNyZWF0aW9u Lgo+Pgo+PiBUaGUgY2hlY2sgdXNlcyBhIDQgTWlCIGZpeGVkIHNpemVkLCB1bmVuY3lwdGVkIGFu ZCBjb21wcmVzc2VkIGNodW5rCj4+IGFzIHRlc3QgbWFya2VyLCBpbnNlcnRlZCBpZiBub3QgcHJl c2VudC4gVGhpcyBhbGwgemVyby1jaHVuayBpcyB2ZXJ5Cj4+IGxpa2VseSBhbnl3YXlzIGZvciB1 bmVuY3J5cHRlZCBiYWNrdXAgY29udGVudHMgd2l0aCBsYXJnZSBhbGwtemVybwo+PiByZWdpb25z IHVzaW5nIGZpeGVkIHNpemUgY2h1bmtpbmcgKGUuZy4gVk1zKS4KPj4KPj4gVG8gYXZvaWQgY2Fz ZXMgd2VyZSB0aGUgdGltZXN0YW1wIHdpbGwgbm90IGJlIHVwZGF0ZWQgYmVjYXVzZSBvZiB0aGUK Pj4gTGludXgga2VybmVscyB0aW1lc3RhbXAgZ3JhbnVsYXJpdHksIHNsZWVwIGluLWJldHdlZW4g c3RhdGluZyBhbmQKPj4gdXRpbWVuc2F0IGZvciAxIHNlY29uZC4KPj4KPj4gRml4ZXM6IGh0dHBz Oi8vYnVnemlsbGEucHJveG1veC5jb20vc2hvd19idWcuY2dpP2lkPTU5ODIKPj4gU2lnbmVkLW9m Zi1ieTogQ2hyaXN0aWFuIEVibmVyIDxjLmVibmVyQHByb3htb3guY29tPgo+PiAtLS0KPj4gY2hh bmdlcyBzaW5jZSB2ZXJzaW9uIDQ6Cj4+IC0gSW1wcm92ZSBsb2dnaW5nIG9mIHZhbHVlcyBpZiBh dGltZSB1cGRhdGUgZmFpbHMuCj4+IC0gZml4IGluY29ycmVjdCBjb21tZW50Cj4+Cj4+ICAgcGJz LWRhdGFzdG9yZS9zcmMvY2h1bmtfc3RvcmUucnMgfCAxMDEgKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLQo+PiAgIHBicy1kYXRhc3RvcmUvc3JjL2RhdGFzdG9yZS5ycyAgIHwgIDEzICsr KysKPj4gICBzcmMvYXBpMi9jb25maWcvZGF0YXN0b3JlLnJzICAgICB8ICAgMSArCj4+ICAgMyBm aWxlcyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKPj4KPj4gZGlm ZiAtLWdpdCBhL3Bicy1kYXRhc3RvcmUvc3JjL2NodW5rX3N0b3JlLnJzIGIvcGJzLWRhdGFzdG9y ZS9zcmMvY2h1bmtfc3RvcmUucnMKPj4gaW5kZXggNWUwMjkwOWExLi5hOGM4MjYzNTMgMTAwNjQ0 Cj4+IC0tLSBhL3Bicy1kYXRhc3RvcmUvc3JjL2NodW5rX3N0b3JlLnJzCj4+ICsrKyBiL3Bicy1k YXRhc3RvcmUvc3JjL2NodW5rX3N0b3JlLnJzCj4+IEBAIC0xLDkgKzEsMTEgQEAKPj4gK3VzZSBz dGQ6Om9zOjp1bml4Ojpmczo6TWV0YWRhdGFFeHQ7Cj4+ICAgdXNlIHN0ZDo6b3M6OnVuaXg6Omlv OjpBc1Jhd0ZkOwo+PiAgIHVzZSBzdGQ6OnBhdGg6OntQYXRoLCBQYXRoQnVmfTsKPj4gICB1c2Ug c3RkOjpzeW5jOjp7QXJjLCBNdXRleH07Cj4+ICt1c2Ugc3RkOjp0aW1lOjp7RHVyYXRpb24sIFVO SVhfRVBPQ0h9Owo+PiAgIAo+PiAtdXNlIGFueWhvdzo6e2JhaWwsIGZvcm1hdF9lcnIsIEVycm9y fTsKPj4gLXVzZSB0cmFjaW5nOjppbmZvOwo+PiArdXNlIGFueWhvdzo6e2JhaWwsIGZvcm1hdF9l cnIsIENvbnRleHQsIEVycm9yfTsKPj4gK3VzZSB0cmFjaW5nOjp7aW5mbywgd2Fybn07Cj4+ICAg Cj4+ICAgdXNlIHBic19hcGlfdHlwZXM6OntEYXRhc3RvcmVGU3luY0xldmVsLCBHYXJiYWdlQ29s bGVjdGlvblN0YXR1c307Cj4+ICAgdXNlIHByb3htb3hfaW86OlJlYWRFeHQ7Cj4+IEBAIC0xMyw2 ICsxNSw3IEBAIHVzZSBwcm94bW94X3N5czo6cHJvY2Vzc19sb2NrZXI6OnsKPj4gICB9Owo+PiAg IHVzZSBwcm94bW94X3dvcmtlcl90YXNrOjpXb3JrZXJUYXNrQ29udGV4dDsKPj4gICAKPj4gK3Vz ZSBjcmF0ZTo6ZGF0YV9ibG9iOjpEYXRhQ2h1bmtCdWlsZGVyOwo+PiAgIHVzZSBjcmF0ZTo6Zmls ZV9mb3JtYXRzOjp7Cj4+ICAgICAgIENPTVBSRVNTRURfQkxPQl9NQUdJQ18xXzAsIEVOQ1JZUFRF RF9CTE9CX01BR0lDXzFfMCwgVU5DT01QUkVTU0VEX0JMT0JfTUFHSUNfMV8wLAo+PiAgIH07Cj4+ IEBAIC05Myw2ICs5Niw3IEBAIGltcGwgQ2h1bmtTdG9yZSB7Cj4+ICAgICAgICAgICB1aWQ6IG5p eDo6dW5pc3RkOjpVaWQsCj4+ICAgICAgICAgICBnaWQ6IG5peDo6dW5pc3RkOjpHaWQsCj4+ICAg ICAgICAgICBzeW5jX2xldmVsOiBEYXRhc3RvcmVGU3luY0xldmVsLAo+PiArICAgICAgICBhdGlt ZV9zYWZldHlfY2hlY2s6IGJvb2wsCj4gCj4gTm90IGEgaHVnZSBmYW4gb2YgYW5vdGhlciBmbGF0 IHBhcmFtZXRlciBoZXJlLCBhbGJlaXQgaXQncyBhIGJpdCBib3JkZXJsaW5lLgo+IEkgZG8gbm90 IHdhbnQgdG8gYWRkIHNjb3BlIGNyZWVwLCBidXQgaWYgd2UgcmVhbGx5IHdhbnQgdGhpcyBoZXJl LCB0aGVuIG1vdmluZwo+IHRob3NlIG9wdGlvbnMgaW50byBhIHN0cnVjdCBtaWdodCBiZSBuaWNl ciwgY291bGQgYmUgZG9uZSBhZnRlcndhcmQgdG9vIHRob3VnaC4KPiAKPiBCdXQgc3RlcHBpbmcg YSBiaXQgYmFjaywgd2h5IGlzIHRoaXMgYSBwYXJhbWV0ZXIgZm9yIHRoZSBmbiBjcmVhdGluZyBh IG5ldwo+IGNodW5rc3RvcmUgaW4gdGhlIGZpcnN0IHBsYWNlPyBXaHkgY2Fubm90IHRoZSBjYWxs IHNpdGVzIHRoYXQgYXJlIGludGVyZXN0ZWQKPiBpbiBkb2luZyB0aGlzIGNhbGwgY2hlY2tfZnNf YXRpbWVfdXBkYXRlcyB0aGVtc2VsdmVzIG9uIHRoZSBjaHVua3N0b3JlIGluc3RhbmNlCj4gYWZ0 ZXIgZ2V0dGluZyBpdCBpbnN0ZWFkIG9mIGhhdmluZyB0byBsb29wIHRocm91Z2ggYSBwYXJhbWV0 ZXI/Cj4gCj4gV2UgZG8gbm90IGhhdmUgbWFueSBwbGFjZXMgdGhhdCBjcmVhdGUgZGF0YXN0b3Jl cywgc28gSSBkbyBub3QgdGhpbmsgdGhlcmUncyBhCj4gaGlnaCBsaWtlbGlob29kIHRoYXQgd2Ug Zm9yZ2V0IHRvIGNhbGwgaXQuCgpZZXMsIGNhbiBtb3ZlIHRoaXMgdG8gdGhlIGNhbGwgc2lkZSBp bnN0ZWFkLiBUaGUgaW50ZW50aW9uIG9mIGhhdmluZyAKdGhpcyBoZXJlIGlzIHNvIHRoYXQgaXQg d2lsbCBhbHdheXMgYmUgY29uc2lkZXJlZCB3aGVuIGNyZWF0aW5nIGEgY2h1bmsgCnN0b3JlLiBC dXQgZG9pbmcgdGhpcyBpbiB0aGUgZGF0YXN0b3JlIGNyZWF0aW9uIG9ubHkgbWlnaHQgZXZlbiBi ZSAKYmV0dGVyLiBBcyBjdXJyZW50bHkgdGhpcyBpcyBvbmx5IGNoZWNrZWQgb24gY2h1bmsgc3Rv cmUgY3JlYXRpb24sIG5vdCAKd2hlbiByZXVzaW5nIGEgcHJlLWV4aXN0aW5nIGRhdGFzdG9yZS4g SXQgbWlnaHQgaG93ZXZlciBtYWtlIHNlbnNlIHRvIApydW4gdGhlIGNoZWNrIHRoZXJlIHRvby4K Cj4gCj4+ICAgICAgICkgLT4gUmVzdWx0PFNlbGYsIEVycm9yPgo+PiAgICAgICB3aGVyZQo+PiAg ICAgICAgICAgUDogSW50bzxQYXRoQnVmPiwKPj4gQEAgLTE0Nyw3ICsxNTEsMTcgQEAgaW1wbCBD aHVua1N0b3JlIHsKPj4gICAgICAgICAgICAgICB9Cj4+ICAgICAgICAgICB9Cj4+ICAgCj4+IC0g ICAgICAgIFNlbGY6Om9wZW4obmFtZSwgYmFzZSwgc3luY19sZXZlbCkKPj4gKyAgICAgICAgbGV0 IGNodW5rX3N0b3JlID0gU2VsZjo6b3BlbihuYW1lLCBiYXNlLCBzeW5jX2xldmVsKT87Cj4+ICsg ICAgICAgIGlmIGF0aW1lX3NhZmV0eV9jaGVjayB7Cj4+ICsgICAgICAgICAgICBjaHVua19zdG9y ZQo+PiArICAgICAgICAgICAgICAgIC5jaGVja19mc19hdGltZV91cGRhdGVzKHRydWUpCj4+ICsg ICAgICAgICAgICAgICAgLm1hcF9lcnIofGVycnwgZm9ybWF0X2VyciEoImFjY2VzcyB0aW1lIHNh ZmV0eSBjaGVjayBmYWlsZWQgLSB7ZXJyOiN9IikpPzsKPj4gKyAgICAgICAgICAgIGluZm8hKCJB Y2Nlc3MgdGltZSBzYWZldHkgY2hlY2sgc3VjY2Vzc2Z1bC4iKTsKPj4gKyAgICAgICAgfSBlbHNl IHsKPj4gKyAgICAgICAgICAgIGluZm8hKCJBY2Nlc3MgdGltZSBzYWZldHkgY2hlY2sgc2tpcHBl ZC4iKTsKPj4gKyAgICAgICAgfQo+PiArCj4+ICsgICAgICAgIE9rKGNodW5rX3N0b3JlKQo+PiAg ICAgICB9Cj4+ICAgCj4+ICAgICAgIGZuIGxvY2tmaWxlX3BhdGg8UDogSW50bzxQYXRoQnVmPj4o YmFzZTogUCkgLT4gUGF0aEJ1ZiB7Cj4+IEBAIC00NDIsNiArNDU2LDY2IEBAIGltcGwgQ2h1bmtT dG9yZSB7Cj4+ICAgICAgICAgICBPaygoKSkKPj4gICAgICAgfQo+PiAgIAo+PiArICAgIC8vLyBD aGVjayBpZiBhdGltZSB1cGRhdGVzIGFyZSBob25vcmVkIGJ5IHRoZSBmaWxlc3lzdGVtIGJhY2tp bmcgdGhlIGNodW5rIHN0b3JlLgo+PiArICAgIC8vLwo+PiArICAgIC8vLyBDaGVja3MgaWYgdGhl IGF0aW1lIGlzIGFsd2F5cyB1cGRhdGVkIGJ5IHV0aW1lbnNhdCB0YWtpbmcgaW50byBjb25zaWRl cmF0aW9uIHRoZSBMaW51eAo+PiArICAgIC8vLyBrZXJuZWwgdGltZXN0YW1wIGdyYW51bGFyaXR5 Lgo+PiArICAgIC8vLyBJZiBgcmV0cnlfb25fZmlsZV9jaGFuZ2VkYCBpcyBzZXQgdG8gdHJ1ZSwg dGhlIGNoZWNrIGlzIHBlcmZvcm1lZCBhZ2FpbiBvbiB0aGUgY2hhbmdlZCBmaWxlCj4+ICsgICAg Ly8vIGlmIGEgZmlsZSBjaGFuZ2Ugd2hpbGUgdGVzdGluZyBpcyBkZXRlY3RlZCBieSBkaWZmZXJl bmNlcyBpbiBiaXRoIHRpbWUgb3IgaW5vZGUgbnVtYmVyLgo+PiArICAgIC8vLyBVc2VzIGEgNCBN aUIgZml4ZWQgc2l6ZSwgY29tcHJlc3NlZCBidXQgdW5lbmNyeXB0ZWQgY2h1bmsgdG8gdGVzdC4g VGhlIGNodW5rIGlzIGluc2VydGVkIGluCj4+ICsgICAgLy8vIHRoZSBjaHVuayBzdG9yZSBpZiBu b3QgeWV0IHByZXNlbnQuCj4+ICsgICAgLy8vIFJldHVybnMgd2l0aCBlcnJvciBpZiB0aGUgY2hl Y2sgY291bGQgbm90IGJlIHBlcmZvcm1lZC4KPj4gKyAgICBwdWIgZm4gY2hlY2tfZnNfYXRpbWVf dXBkYXRlcygmc2VsZiwgcmV0cnlfb25fZmlsZV9jaGFuZ2VkOiBib29sKSAtPiBSZXN1bHQ8KCks IEVycm9yPiB7Cj4+ICsgICAgICAgIGxldCAoemVyb19jaHVuaywgZGlnZXN0KSA9IERhdGFDaHVu a0J1aWxkZXI6OmJ1aWxkX3plcm9fY2h1bmsoTm9uZSwgNDA5NiAqIDEwMjQsIHRydWUpPzsKPj4g KyAgICAgICAgbGV0IChwcmVfZXhpc3RpbmcsIF8pID0gc2VsZi5pbnNlcnRfY2h1bmsoJnplcm9f Y2h1bmssICZkaWdlc3QpPzsKPj4gKyAgICAgICAgbGV0IChwYXRoLCBfZGlnZXN0KSA9IHNlbGYu Y2h1bmtfcGF0aCgmZGlnZXN0KTsKPj4gKwo+PiArICAgICAgICAvLyBUYWtlIGludG8gYWNjb3Vu dCB0aW1lc3RhbXAgdXBkYXRlIGdyYW51bGFyaXR5IGluIHRoZSBrZXJuZWwKPj4gKyAgICAgICAg c3RkOjp0aHJlYWQ6OnNsZWVwKER1cmF0aW9uOjpmcm9tX3NlY3MoMSkpOwo+IAo+IElmIHRoZXJl J3MgdGhlIG5lZWQgZm9yIGEgdjYgSSdkIG1heWJlIGFkZCB0byB0aGUgY29tbWVudCB0aGF0IHRo aXMgbm9ybWFsbHkKPiBydW5zIGluIGEgd29ya2VyLCBzbyBzbGVlcCBibG9ja2luZyB0aGUgd2hv bGUgdGhyZWFkIGlzIGZpbmUgaGVyZS4KCkFja2VkLCB3aWxsIGJlIGluY2x1ZGVkLgoKPiBBbHNv LCB5b3Ugd3JpdGUgInNsZWVwIGluLWJldHdlZW4gc3RhdGluZyBhbmQgdXRpbWVuc2F0IGZvciAx IHNlY29uZCIsIGJ1dAo+IHRoaXMgaXMgc2xlZXBpbmcgYmVmb3JlIHRoZSBzdGF0ICsgdG91Y2gg KyBzdGF0IGNhbGxzLCBvciBhbSBJIG92ZXJsb29raW5nCj4gc29tZXRoaW5nPwoKWWVzLCB0aGUg d29yZGluZyBpcyBub3QgY29ycmVjdCBhbnltb3JlIGFmdGVyIGl0ZXJhdGluZyB0aGUgcGF0Y2gg CnNlcmllcywgYXMgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiBjaGFuZ2VkIGEgYml0LgpUaGUgZmly c3QgYXRpbWUgdXBkYXRlIGhhcHBlbnMgaW4gdGhlIGluc2VydCBjaHVuaywgdGhlbiB3ZSByZWFk IHRoZSAKbWV0YWRhdGEgYWZ0ZXIgc2xlZXBpbmcgZm9yIDEgc2Vjb25kLiBUaGlzIGlzIHRvIHJl ZHVjZSB0aGUgY2hhbmNlIG9mIAphbm90aGVyIGF0aW1lIHVwZGF0ZSBoYXBwZW5pbmcgZnJvbSBz b21ld2hlcmUgZWxzZSBpbiB0aGUgbWVhbiB0aW1lIAooc3VnZ2VzdGVkIGJ5IEZhYmlhbiBpbiBo aXMgcHJldmlvdXMgcmV2aWV3IG9mIHRoZSBzZXJpZXMpLgoKPiAKPj4gKyAgICAgICAgbGV0IG1l dGFkYXRhX2JlZm9yZSA9Cj4+ICsgICAgICAgICAgICBzdGQ6OmZzOjptZXRhZGF0YSgmcGF0aCku Y29udGV4dChmb3JtYXQhKCJmYWlsZWQgdG8gZ2V0IG1ldGFkYXRhIGZvciB7cGF0aDo/fSIpKT87 Cj4+ICsKPj4gKyAgICAgICAgLy8gU2Vjb25kIGF0aW1lIHVwZGF0ZSBpZiBjaHVuayBwcmUtZXhp c3RlZCwgaW5zZXJ0X2NodW5rIGFscmVhZHkgdXBkYXRlcyBwcmUtZXhpc3Rpbmcgb25lcwo+PiAr ICAgICAgICBzZWxmLmNvbmRfdG91Y2hfcGF0aCgmcGF0aCwgdHJ1ZSk/Owo+PiArCj4+ICsgICAg ICAgIGxldCBtZXRhZGF0YV9ub3cgPQo+PiArICAgICAgICAgICAgc3RkOjpmczo6bWV0YWRhdGEo JnBhdGgpLmNvbnRleHQoZm9ybWF0ISgiZmFpbGVkIHRvIGdldCBtZXRhZGF0YSBmb3Ige3BhdGg6 P30iKSk/Owo+IAo+IEFub3RoZXIgdGlueSBuaXQ6IG1heWJlIGVuY29kZSBub3cvYWZ0ZXIgaW4g dGhlIGNvbnRleHQgdG8gYmUgZWFzaWVyIGFibGUKPiB0byBkaXN0aW5ndWlzaCB3aGljaCBzdGF0 IHN5c2NhbGwgZmFpbGVkIOKAkyB3aGlsZSBpdCdzIHZlcnkgdW5saWtlbHkgdGhhdAo+IG9uZSBz dWNjZWVkcyBhbmQgdGhlIG90aGVyIGRvZXNuJ3QsIGl0IHdvdWxkIG5vdCBodXJ0IHRvIGJlIGFi bGUgdG8gdGVsbAo+IHRoYXQgY2FzZSBhcGFydC4KCkFja2VkLCB3aWxsIGluY29ycG9yYXRlIHRo YXQuCgo+IAo+PiArCj4+ICsgICAgICAgIC8vIENoZWNrIGZvciB0aGUgdW5saWtlbHkgY2FzZSB0 aGF0IHRoZSBmaWxlIGNoYW5nZWQgaW4tYmV0d2VlbiB0aGUKPj4gKyAgICAgICAgLy8gdHdvIG1l dGFkYXRhIGNhbGxzLCB0cnkgdG8gY2hlY2sgb25jZSBhZ2FpbiBvbiBjaGFuZ2VkIGZpbGUKPj4g KyAgICAgICAgaWYgbWV0YWRhdGFfYmVmb3JlLmlubygpICE9IG1ldGFkYXRhX25vdy5pbm8oKSB7 Cj4+ICsgICAgICAgICAgICBpZiByZXRyeV9vbl9maWxlX2NoYW5nZWQgewo+PiArICAgICAgICAg ICAgICAgIHJldHVybiBzZWxmLmNoZWNrX2ZzX2F0aW1lX3VwZGF0ZXMoZmFsc2UpOwo+PiArICAg ICAgICAgICAgfQo+PiArICAgICAgICAgICAgYmFpbCEoImNodW5rIHtwYXRoOj99IGNoYW5nZWQg dHdpY2UgZHVyaW5nIGFjY2VzcyB0aW1lIHNhZmV0eSBjaGVjaywgY2Fubm90IHByb2NlZWQuIik7 Cj4+ICsgICAgICAgIH0KPj4gKwo+PiArICAgICAgICBpZiBtZXRhZGF0YV9iZWZvcmUuYWNjZXNz ZWQoKT8gPj0gbWV0YWRhdGFfbm93LmFjY2Vzc2VkKCk/IHsKPj4gKyAgICAgICAgICAgIGxldCBj aHVua19pbmZvX3N0ciA9IGlmIHByZV9leGlzdGluZyB7Cj4+ICsgICAgICAgICAgICAgICAgInBy ZS1leGlzdGluZyIKPj4gKyAgICAgICAgICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgICAgICAgICAg Im5ld2x5IGluc2VydGVkIgo+PiArICAgICAgICAgICAgfTsKPj4gKyAgICAgICAgICAgIHdhcm4h KCJDaHVuayBtZXRhZGF0YSB3YXMgbm90IGNvcnJlY3RseSB1cGRhdGVkIGR1cmluZyBhY2Nlc3Mg dGltZSBzYWZldHkgY2hlY2s6Iik7Cj4+ICsgICAgICAgICAgICBpbmZvISgKPj4gKyAgICAgICAg ICAgICAgICAiVGltZXN0YW1wcyBiZWZvcmUgdXBkYXRlOiBhY2Nlc3NlZCB7Oj99LCBtb2RpZmll ZCB7Oj99LCBjcmVhdGVkIHs6P30iLAo+PiArICAgICAgICAgICAgICAgIG1ldGFkYXRhX2JlZm9y ZS5hY2Nlc3NlZCgpLnVud3JhcF9vcihVTklYX0VQT0NIKSwKPj4gKyAgICAgICAgICAgICAgICBt ZXRhZGF0YV9iZWZvcmUubW9kaWZpZWQoKS51bndyYXBfb3IoVU5JWF9FUE9DSCksCj4+ICsgICAg ICAgICAgICAgICAgbWV0YWRhdGFfYmVmb3JlLmNyZWF0ZWQoKS51bndyYXBfb3IoVU5JWF9FUE9D SCksCj4+ICsgICAgICAgICAgICApOwo+PiArICAgICAgICAgICAgaW5mbyEoCj4+ICsgICAgICAg ICAgICAgICAgIlRpbWVzdGFtcHMgYWZ0ZXIgdXBkYXRlOiBhY2Nlc3NlZCB7Oj99LCBtb2RpZmll ZCB7Oj99LCBjcmVhdGVkIHs6P30iLAo+PiArICAgICAgICAgICAgICAgIG1ldGFkYXRhX25vdy5h Y2Nlc3NlZCgpLnVud3JhcF9vcihVTklYX0VQT0NIKSwKPj4gKyAgICAgICAgICAgICAgICBtZXRh ZGF0YV9ub3cubW9kaWZpZWQoKS51bndyYXBfb3IoVU5JWF9FUE9DSCksCj4+ICsgICAgICAgICAg ICAgICAgbWV0YWRhdGFfbm93LmNyZWF0ZWQoKS51bndyYXBfb3IoVU5JWF9FUE9DSCksCj4+ICsg ICAgICAgICAgICApOwo+PiArICAgICAgICAgICAgYmFpbCEoImFjY2VzcyB0aW1lIHNhZmV0eSBj aGVjayB1c2luZyB7Y2h1bmtfaW5mb19zdHJ9IGNodW5rIGZhaWxlZCwgYWJvcnRpbmcgR0MhIik7 Cj4+ICsgICAgICAgIH0KPj4gKwo+PiArICAgICAgICBPaygoKSkKPj4gKyAgICB9Cj4+ICsKPj4g ICAgICAgcHViIGZuIGluc2VydF9jaHVuaygmc2VsZiwgY2h1bms6ICZEYXRhQmxvYiwgZGlnZXN0 OiAmW3U4OyAzMl0pIC0+IFJlc3VsdDwoYm9vbCwgdTY0KSwgRXJyb3I+IHsKPj4gICAgICAgICAg IC8vIHVud3JhcDogb25seSBgTm9uZWAgaW4gdW5pdCB0ZXN0cwo+PiAgICAgICAgICAgYXNzZXJ0 IShzZWxmLmxvY2tlci5pc19zb21lKCkpOwo+IAo+IAo+PiBkaWZmIC0tZ2l0IGEvcGJzLWRhdGFz dG9yZS9zcmMvZGF0YXN0b3JlLnJzIGIvcGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzCj4+ IGluZGV4IDc1YzBjMTZhYi4uNTU1OGJiMWFjIDEwMDY0NAo+PiAtLS0gYS9wYnMtZGF0YXN0b3Jl L3NyYy9kYXRhc3RvcmUucnMKPj4gKysrIGIvcGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJz Cj4+IEBAIC0xMTcwLDYgKzExNzAsMTkgQEAgaW1wbCBEYXRhU3RvcmUgewo+PiAgICAgICAgICAg ICAgICAgICB1cGlkOiBTb21lKHVwaWQudG9fc3RyaW5nKCkpLAo+PiAgICAgICAgICAgICAgICAg ICAuLkRlZmF1bHQ6OmRlZmF1bHQoKQo+PiAgICAgICAgICAgICAgIH07Cj4+ICsgICAgICAgICAg ICBsZXQgdHVuaW5nOiBEYXRhc3RvcmVUdW5pbmcgPSBzZXJkZV9qc29uOjpmcm9tX3ZhbHVlKAo+ PiArICAgICAgICAgICAgICAgIERhdGFzdG9yZVR1bmluZzo6QVBJX1NDSEVNQQo+PiArICAgICAg ICAgICAgICAgICAgICAucGFyc2VfcHJvcGVydHlfc3RyaW5nKGdjX3N0b3JlX2NvbmZpZy50dW5p bmcuYXNfZGVyZWYoKS51bndyYXBfb3IoIiIpKT8sCj4+ICsgICAgICAgICAgICApPzsKPj4gKyAg ICAgICAgICAgIGlmIHR1bmluZy5nY19hdGltZV9zYWZldHlfY2hlY2sudW53cmFwX29yKHRydWUp IHsKPj4gKyAgICAgICAgICAgICAgICBzZWxmLmlubmVyCj4+ICsgICAgICAgICAgICAgICAgICAg IC5jaHVua19zdG9yZQo+PiArICAgICAgICAgICAgICAgICAgICAuY2hlY2tfZnNfYXRpbWVfdXBk YXRlcyh0cnVlKQo+PiArICAgICAgICAgICAgICAgICAgICAubWFwX2Vycih8ZXJyfCBmb3JtYXRf ZXJyISgiYXRpbWUgc2FmZXR5IGNoZWNrIGZhaWxlZCAtIHtlcnI6I30iKSk/Owo+PiArICAgICAg ICAgICAgICAgIGluZm8hKCJBY2Nlc3MgdGltZSBzYWZldHkgY2hlY2sgc3VjY2Vzc2Z1bCwgcHJv Y2VlZGluZyB3aXRoIEdDLiIpOwo+PiArICAgICAgICAgICAgfSBlbHNlIHsKPj4gKyAgICAgICAg ICAgICAgICBpbmZvISgiRmlsZXN5c3RlbSBhdGltZSBzYWZldHkgY2hlY2sgZGlzYWJsZWQgYnkg ZGF0YXN0b3JlIHR1bmluZyBvcHRpb25zLiIpOwo+IAo+IFNvdW5kcyBJTU8gc2NhcmllciB0aGFu IHdoYXQgdGhpcyBpcywgaS5lLiBsaWtlIHRoZSB3aG9sZSBHQyB3b3VsZCBub3QKPiBiZSBzYWZl IGFueW1vcmUsIG9yIHdvdWxkIG5vdCB1c2UgYXRpbWUgc2FmZXR5IGNoZWNrcyBhbnltb3JlLgo+ IAo+IEknZCByYXRoZXIgZWl0aGVyIGRyb3AgdGhhdCBvciByZXdvcmQgaXQgdG8gc29tZXRoaW5n IGVsc2UsIG1heWJlIGp1c3QgZG9pbmcKPiBzL3NhZmV0eS91cGRhdGUvIHdvdWxkIGJlIGVub3Vn aC4KCkFncmVlZCwgd2lsbCByZXBsYWNlIGFzIHN1Z2dlc3RlZC4KCj4+ICsgICAgICAgICAgICB9 Cj4+ICAgCj4+ICAgICAgICAgICAgICAgaW5mbyEoIlN0YXJ0IEdDIHBoYXNlMSAobWFyayB1c2Vk IGNodW5rcykiKTsKPj4gICAKPj4gZGlmZiAtLWdpdCBhL3NyYy9hcGkyL2NvbmZpZy9kYXRhc3Rv cmUucnMgYi9zcmMvYXBpMi9jb25maWcvZGF0YXN0b3JlLnJzCj4+IGluZGV4IGZlMzI2MGY2ZC4u MzU4NDdmYzQ1IDEwMDY0NAo+PiAtLS0gYS9zcmMvYXBpMi9jb25maWcvZGF0YXN0b3JlLnJzCj4+ ICsrKyBiL3NyYy9hcGkyL2NvbmZpZy9kYXRhc3RvcmUucnMKPj4gQEAgLTExOSw2ICsxMTksNyBA QCBwdWIoY3JhdGUpIGZuIGRvX2NyZWF0ZV9kYXRhc3RvcmUoCj4+ICAgICAgICAgICAgICAgICAg IGJhY2t1cF91c2VyLnVpZCwKPj4gICAgICAgICAgICAgICAgICAgYmFja3VwX3VzZXIuZ2lkLAo+ PiAgICAgICAgICAgICAgICAgICB0dW5pbmcuc3luY19sZXZlbC51bndyYXBfb3JfZGVmYXVsdCgp LAo+PiArICAgICAgICAgICAgICAgIHR1bmluZy5nY19hdGltZV9zYWZldHlfY2hlY2sudW53cmFw X29yKHRydWUpLAo+PiAgICAgICAgICAgICAgICkKPj4gICAgICAgICAgICAgICAubWFwKHxffCAo KSkKPj4gICAgICAgICAgIH0gZWxzZSB7CgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCnBicy1kZXZlbCBtYWlsaW5nIGxpc3QKcGJzLWRldmVsQGxpc3Rz LnByb3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xp c3RpbmZvL3Bicy1kZXZlbAo=