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 CD2EB1FF15C
	for <inbox@lore.proxmox.com>; Fri,  4 Apr 2025 17:42:27 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id EF22E363AA;
	Fri,  4 Apr 2025 17:42:15 +0200 (CEST)
Mime-Version: 1.0
Date: Fri, 04 Apr 2025 17:41:40 +0200
Message-Id: <D8XYVQETUYDL.NA06AOPJ6WDK@proxmox.com>
To: "Proxmox Backup Server development discussion"
 <pbs-devel@lists.proxmox.com>
From: "Max Carrara" <m.carrara@proxmox.com>
X-Mailer: aerc 0.18.2-0-ge037c095a049
References: <20250321080254.68931-1-c.ebner@proxmox.com>
 <20250321080254.68931-5-c.ebner@proxmox.com>
In-Reply-To: <20250321080254.68931-5-c.ebner@proxmox.com>
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.044 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
 KAM_LOTSOFHASH           0.25 Emails with lots of hash-like gibberish
 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 v8 proxmox-backup 4/9] 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-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: pbs-devel-bounces@lists.proxmox.com
Sender: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com>

T24gRnJpIE1hciAyMSwgMjAyNSBhdCA5OjAyIEFNIENFVCwgQ2hyaXN0aWFuIEVibmVyIHdyb3Rl
Ogo+IENoZWNrIGlmIHRoZSBmaWxlc3lzdGVtIGJhY2tpbmcgdGhlIGNodW5rIHN0b3JlIGFjdHVh
bGx5IHVwZGF0ZXMgdGhlCj4gYXRpbWUgdG8gYXZvaWQgcG90ZW50aWFsIGRhdGEgbG9zcyBpbiBw
aGFzZSAyIG9mIGdhcmJhZ2UgY29sbGVjdGlvbiwKPiBpbiBjYXNlIHRoZSBhdGltZSB1cGRhdGUg
aXMgbm90IGhvbm9yZWQuCj4KPiBQZXJmb3JtIHRoZSBjaGVjayBiZWZvcmUgcGhhc2UgMSBvZiBn
YXJiYWdlIGNvbGxlY3Rpb24sIGFzIHdlbGwgYXMKPiBvbiBkYXRhc3RvcmUgY3JlYXRpb24uIFRo
ZSBsYXR0ZXIgdG8gZWFybHkgZGV0ZWN0IGFuZCBkaXNhbGxvdwo+IGRhdGFzdG9yZSBjcmVhdGlv
biBvbiBmaWxlc3lzdGVtIGNvbmZpZ3VyYXRpb25zIHdoaWNoIG90aGVyd2lzZSBtb3N0Cj4gbGlr
ZWx5IHdvdWxkIGxlYWQgdG8gZGF0YSBsb3NzZXMuIFRvIHBlcmZvcm0gdGhlIGNoZWNrIGFsc28g
d2hlbgo+IHJldXNpbmcgYW4gZXhpc3RpbmcgZGF0YXN0b3JlLCBvcGVuIHRoZSBjaHVua3Mgc3Rv
cmUgYWxzbyBvbiByZXVzZS4KPgo+IEVuYWJsZSB0aGUgYXRpbWUgdXBkYXRlIGNoZWNrIGJ5IGRl
ZmF1bHQsIGJ1dCBhbGxvdyB0byBvcHQtb3V0IGJ5Cj4gc2V0dGluZyBhIGRhdGFzdG9yZSB0dW5p
bmcgcGFyYW1ldGVyIGZsYWcgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5Lgo+IFRoaXMgaXMg
aG9ub3JlZCBieSBib3RoLCBnYXJiYWdlIGNvbGxlY3Rpb24gYW5kIGRhdGFzdG9yZSBjcmVhdGlv
bi4KPgo+IFRoZSBjaGVjayB1c2VzIGEgNCBNaUIgZml4ZWQgc2l6ZWQsIHVuZW5jeXB0ZWQgYW5k
IGNvbXByZXNzZWQgY2h1bmsKPiBhcyB0ZXN0IG1hcmtlciwgaW5zZXJ0ZWQgaWYgbm90IHByZXNl
bnQuIFRoaXMgYWxsIHplcm8tY2h1bmsgaXMgdmVyeQo+IGxpa2VseSBhbnl3YXlzIGZvciB1bmVu
Y3J5cHRlZCBiYWNrdXAgY29udGVudHMgd2l0aCBsYXJnZSBhbGwtemVybwo+IHJlZ2lvbnMgdXNp
bmcgZml4ZWQgc2l6ZSBjaHVua2luZyAoZS5nLiBWTXMpLgo+Cj4gVG8gYXZvaWQgY2FzZXMgd2Vy
ZSB0aGUgdGltZXN0YW1wIHdpbGwgbm90IGJlIHVwZGF0ZWQgYmVjYXVzZSBvZiB0aGUKPiBMaW51
eCBrZXJuZWxzIHRpbWVzdGFtcCBncmFudWxhcml0eSwgc2xlZXAgaW4tYmV0d2VlbiBjaHVuayBp
bnNlcnQKPiAoaW5jbHVkaW5nIGFuIGF0aW1lIHVwZGF0ZSBpZiBwcmUtZXhpc3RpbmcpIGFuZCB0
aGUgc3Vic2VxdWVudAo+IHN0YXRpbmcgKyB1dGltZW5zYXQgZm9yIDEgc2Vjb25kLgo+Cj4gRml4
ZXM6IGh0dHBzOi8vYnVnemlsbGEucHJveG1veC5jb20vc2hvd19idWcuY2dpP2lkPTU5ODIKPiBT
aWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gRWJuZXIgPGMuZWJuZXJAcHJveG1veC5jb20+Cj4gLS0t
Cj4gY2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDc6Cj4gLSByZWJhc2VkIG9uIGN1cnJlbnQgbWFzdGVy
Cj4gLSByZW1vdmVkIHVudXNlZCBpbXBvcnQKPgo+ICBwYnMtZGF0YXN0b3JlL3NyYy9jaHVua19z
dG9yZS5ycyB8IDcyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gIHBicy1kYXRh
c3RvcmUvc3JjL2RhdGFzdG9yZS5ycyAgIHwgMTUgKysrKysrLQo+ICBzcmMvYXBpMi9jb25maWcv
ZGF0YXN0b3JlLnJzICAgICB8IDI4ICsrKysrKysrKystLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAx
MDUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvcGJzLWRh
dGFzdG9yZS9zcmMvY2h1bmtfc3RvcmUucnMgYi9wYnMtZGF0YXN0b3JlL3NyYy9jaHVua19zdG9y
ZS5ycwo+IGluZGV4IGRjMjY3ZDc1Mi4uZmQ1ZjIxNWUyIDEwMDY0NAo+IC0tLSBhL3Bicy1kYXRh
c3RvcmUvc3JjL2NodW5rX3N0b3JlLnJzCj4gKysrIGIvcGJzLWRhdGFzdG9yZS9zcmMvY2h1bmtf
c3RvcmUucnMKPiBAQCAtMSw5ICsxLDExIEBACj4gK3VzZSBzdGQ6Om9zOjp1bml4Ojpmczo6TWV0
YWRhdGFFeHQ7Cj4gIHVzZSBzdGQ6Om9zOjp1bml4Ojppbzo6QXNSYXdGZDsKPiAgdXNlIHN0ZDo6
cGF0aDo6e1BhdGgsIFBhdGhCdWZ9Owo+ICB1c2Ugc3RkOjpzeW5jOjp7QXJjLCBNdXRleH07Cj4g
K3VzZSBzdGQ6OnRpbWU6OkR1cmF0aW9uOwo+Cj4gLXVzZSBhbnlob3c6OntiYWlsLCBmb3JtYXRf
ZXJyLCBFcnJvcn07Cj4gLXVzZSB0cmFjaW5nOjppbmZvOwo+ICt1c2UgYW55aG93Ojp7YmFpbCwg
Zm9ybWF0X2VyciwgQ29udGV4dCwgRXJyb3J9Owo+ICt1c2UgdHJhY2luZzo6e2luZm8sIHdhcm59
Owo+Cj4gIHVzZSBwYnNfYXBpX3R5cGVzOjp7RGF0YXN0b3JlRlN5bmNMZXZlbCwgR2FyYmFnZUNv
bGxlY3Rpb25TdGF0dXN9Owo+ICB1c2UgcHJveG1veF9pbzo6UmVhZEV4dDsKPiBAQCAtMTMsNiAr
MTUsNyBAQCB1c2UgcHJveG1veF9zeXM6OnByb2Nlc3NfbG9ja2VyOjp7Cj4gIH07Cj4gIHVzZSBw
cm94bW94X3dvcmtlcl90YXNrOjpXb3JrZXJUYXNrQ29udGV4dDsKPgo+ICt1c2UgY3JhdGU6OmRh
dGFfYmxvYjo6RGF0YUNodW5rQnVpbGRlcjsKPiAgdXNlIGNyYXRlOjpmaWxlX2Zvcm1hdHM6OnsK
PiAgICAgIENPTVBSRVNTRURfQkxPQl9NQUdJQ18xXzAsIEVOQ1JZUFRFRF9CTE9CX01BR0lDXzFf
MCwgVU5DT01QUkVTU0VEX0JMT0JfTUFHSUNfMV8wLAo+ICB9Owo+IEBAIC0xNzcsNyArMTgwLDcg
QEAgaW1wbCBDaHVua1N0b3JlIHsKPiAgICAgIC8vLyBOb3RlIHRoYXQgdGhpcyBtdXN0IGJlIHVz
ZWQgd2l0aCBjYXJlLCBhcyBpdCdzIGRhbmdlcm91cyB0byBjcmVhdGUgdHdvIGluc3RhbmNlcyBv
biB0aGUKPiAgICAgIC8vLyBzYW1lIGJhc2UgcGF0aCwgYXMgY2xvc2luZyB0aGUgdW5kZXJseWlu
ZyBQcm9jZXNzTG9ja2VyIGRyb3BzIGFsbCBsb2NrcyBmcm9tIHRoaXMgcHJvY2Vzcwo+ICAgICAg
Ly8vIG9uIHRoZSBsb2NrZmlsZSAoZXZlbiBpZiBzZXBhcmF0ZSBGRHMpCj4gLSAgICBwdWIoY3Jh
dGUpIGZuIG9wZW48UDogSW50bzxQYXRoQnVmPj4oCj4gKyAgICBwdWIgZm4gb3BlbjxQOiBJbnRv
PFBhdGhCdWY+PigKPiAgICAgICAgICBuYW1lOiAmc3RyLAo+ICAgICAgICAgIGJhc2U6IFAsCj4g
ICAgICAgICAgc3luY19sZXZlbDogRGF0YXN0b3JlRlN5bmNMZXZlbCwKPiBAQCAtNDQyLDYgKzQ0
NSw2OSBAQCBpbXBsIENodW5rU3RvcmUgewo+ICAgICAgICAgIE9rKCgpKQo+ICAgICAgfQo+Cj4g
KyAgICAvLy8gQ2hlY2sgaWYgYXRpbWUgdXBkYXRlcyBhcmUgaG9ub3JlZCBieSB0aGUgZmlsZXN5
c3RlbSBiYWNraW5nIHRoZSBjaHVuayBzdG9yZS4KPiArICAgIC8vLwo+ICsgICAgLy8vIENoZWNr
cyBpZiB0aGUgYXRpbWUgaXMgYWx3YXlzIHVwZGF0ZWQgYnkgdXRpbWVuc2F0IHRha2luZyBpbnRv
IGNvbnNpZGVyYXRpb24gdGhlIExpbnV4Cj4gKyAgICAvLy8ga2VybmVsIHRpbWVzdGFtcCBncmFu
dWxhcml0eS4KPiArICAgIC8vLyBJZiBgcmV0cnlfb25fZmlsZV9jaGFuZ2VkYCBpcyBzZXQgdG8g
dHJ1ZSwgdGhlIGNoZWNrIGlzIHBlcmZvcm1lZCBhZ2FpbiBvbiB0aGUgY2hhbmdlZCBmaWxlCj4g
KyAgICAvLy8gaWYgYSBmaWxlIGNoYW5nZSB3aGlsZSB0ZXN0aW5nIGlzIGRldGVjdGVkIGJ5IGRp
ZmZlcmVuY2VzIGluIGJpdGggdGltZSBvciBpbm9kZSBudW1iZXIuCj4gKyAgICAvLy8gVXNlcyBh
IDQgTWlCIGZpeGVkIHNpemUsIGNvbXByZXNzZWQgYnV0IHVuZW5jcnlwdGVkIGNodW5rIHRvIHRl
c3QuIFRoZSBjaHVuayBpcyBpbnNlcnRlZCBpbgo+ICsgICAgLy8vIHRoZSBjaHVuayBzdG9yZSBp
ZiBub3QgeWV0IHByZXNlbnQuCj4gKyAgICAvLy8gUmV0dXJucyB3aXRoIGVycm9yIGlmIHRoZSBj
aGVjayBjb3VsZCBub3QgYmUgcGVyZm9ybWVkLgo+ICsgICAgcHViIGZuIGNoZWNrX2ZzX2F0aW1l
X3VwZGF0ZXMoJnNlbGYsIHJldHJ5X29uX2ZpbGVfY2hhbmdlZDogYm9vbCkgLT4gUmVzdWx0PCgp
LCBFcnJvcj4gewo+ICsgICAgICAgIGxldCAoemVyb19jaHVuaywgZGlnZXN0KSA9IERhdGFDaHVu
a0J1aWxkZXI6OmJ1aWxkX3plcm9fY2h1bmsoTm9uZSwgNDA5NiAqIDEwMjQsIHRydWUpPzsKPiAr
ICAgICAgICBsZXQgKHByZV9leGlzdGluZywgXykgPSBzZWxmLmluc2VydF9jaHVuaygmemVyb19j
aHVuaywgJmRpZ2VzdCk/Owo+ICsgICAgICAgIGxldCAocGF0aCwgX2RpZ2VzdCkgPSBzZWxmLmNo
dW5rX3BhdGgoJmRpZ2VzdCk7Cj4gKwo+ICsgICAgICAgIC8vIFRha2UgaW50byBhY2NvdW50IHRp
bWVzdGFtcCB1cGRhdGUgZ3JhbnVsYXJpdHkgaW4gdGhlIGtlcm5lbAo+ICsgICAgICAgIC8vIEJs
b2NraW5nIHRoZSB0aHJlYWQgaXMgZmluZSBoZXJlIHNpbmNlIHRoaXMgcnVucyBpbiBhIHdvcmtl
ci4KPiArICAgICAgICBzdGQ6OnRocmVhZDo6c2xlZXAoRHVyYXRpb246OmZyb21fc2VjcygxKSk7
Cj4gKwo+ICsgICAgICAgIGxldCBtZXRhZGF0YV9iZWZvcmUgPSBzdGQ6OmZzOjptZXRhZGF0YSgm
cGF0aCkuY29udGV4dChmb3JtYXQhKAo+ICsgICAgICAgICAgICAiZmFpbGVkIHRvIGdldCBtZXRh
ZGF0YSBmb3Ige3BhdGg6P30gYmVmb3JlIGF0aW1lIHVwZGF0ZSIKPiArICAgICAgICApKT87Cj4g
Kwo+ICsgICAgICAgIC8vIFNlY29uZCBhdGltZSB1cGRhdGUgaWYgY2h1bmsgcHJlLWV4aXN0ZWQs
IGluc2VydF9jaHVuayBhbHJlYWR5IHVwZGF0ZXMgcHJlLWV4aXN0aW5nIG9uZXMKPiArICAgICAg
ICBzZWxmLmNvbmRfdG91Y2hfcGF0aCgmcGF0aCwgdHJ1ZSk/OwoKUmVnYXJkaW5nIG15IGNvbW1l
bnQgaW4gdGhlIGNvdmVyIGxldHRlcjogVGhlIGNhbGwgdG8KYHNlbGYuY29uZF90b3VjaF9wYXRo
YCBhYm92ZSB3aWxsIGZhaWwgb24gYSBkaXJlY3RvcnktYmFzZWQgZGF0YXN0b3JlCmJhY2tlZCBi
eSBleHQ0IG1vdW50ZWQgd2l0aCAtbyBydyxyZWxhdGltZToKCiAgICAyMDI1LTA0LTA0VDE2OjI1
OjQ0KzAyOjAwOiBUQVNLIEVSUk9SOiBhdGltZSBzYWZldHkgY2hlY2sgZmFpbGVkOiB1cGRhdGUg
YXRpbWUgZmFpbGVkIGZvciBjaHVuay9maWxlICIvbW50L2RhdGFzdG9yZS90ZXN0LW5vYXRpbWUv
LmNodW5rcy9iYjlmL2JiOWY4ZGY2MTQ3NGQyNWU3MWZhMDA3MjIzMThjZDM4NzM5NmNhMTczNjYw
NWUxMjQ4ODIxY2MwZGUzZDNhZjgiIC0gRVBFUk06IE9wZXJhdGlvbiBub3QgcGVybWl0dGVkCgpG
cm9tIGBtYW4gMiB1dGltZW5zYXRgIChmb3JtYXR0ZWQgZm9yIHlvdXIgcmVhZGluZyBwbGVhc3Vy
ZSk6CgpFUEVSTQogICAgVGhlIGNhbGxlciBhdHRlbXB0ZWQgdG8gY2hhbmdlIG9uZSBvciBib3Ro
IHRpbWVzdGFtcHMgdG8gYSB2YWx1ZQogICAgb3RoZXIgdGhhbiB0aGUgY3VycmVudCB0aW1lLCBv
ciB0byBjaGFuZ2Ugb25lIG9mIHRoZSB0aW1lc3RhbXBzIHRvCiAgICB0aGUgY3VycmVudCB0aW1l
IHdoaWxlIGxlYXZpbmcgdGhlIG90aGVyIHRpbWVzdGFtcCB1bmNoYW5nZWQsIChpLmUuLAogICAg
dGltZXMgIGlzICBub3QgTlVMTCwgbmVpdGhlciB0dl9uc2VjIGZpZWxkIGlzIFVUSU1FX05PVywg
YW5kIG5laXRoZXIKICAgIHR2X25zZWMgZmllbGQgaXMgVVRJTUVfT01JVCkgYW5kIGVpdGhlcjoK
CiAgICDigKIgIHRoZSBjYWxsZXIncyBlZmZlY3RpdmUgdXNlciBJRCBkb2VzIG5vdCBtYXRjaCB0
aGUgb3duZXIgb2YgZmlsZSwKICAgICAgIGFuZCB0aGUgY2FsbGVyIGlzIG5vdCBwcml2aWxlZ2Vk
IChMaW51eDogZG9lcyBub3QgaGF2ZSB0aGUKICAgICAgIENBUF9GT1dORVIgY2FwYWJpbGl0eSk7
IG9yLAoKICAgIOKAoiAgdGhlIGZpbGUgaXMgbWFya2VkIGFwcGVuZC1vbmx5IG9yIGltbXV0YWJs
ZSAoc2VlIGNoYXR0cigxKSkuCgpTb29vLCBJIGludmVzdGlnYXRlZCBhIGxpdHRsZSBtb3JlLCBz
aW5jZSB0aGUgRVBFUk0gaGVyZSBpbml0aWFsbHkKZGlkbid0IG1ha2UgYW55IHNlbnNlIHRvIG1l
LCBiZWNhdXNlIHRoZSBzYW1lIGF0aW1lIGNoZWNrIGFjdHVhbGx5CnBhc3NlcyB3aGVuIGNyZWF0
aW5nIHRoZSBkYXRhc3RvcmUuCgpGdXJ0aGVybW9yZSwgdGhlIGZpbGUgKGNodW5rKSB1c2VkIGZv
ciB0aGlzIGNoZWNrIGlzbid0IGFwcGVuZC1vbmx5IG9yCmltbXV0YWJsZSAob3RoZXJ3aXNlIHlv
dSdkIHNlZSBhbiBgYWAgb3IgYGlgIGRvd24gdGhlcmUpOgoKICAgICQgbHNhdHRyIC5jaHVua3Mv
YmI5Zi9iYjlmOGRmNjE0NzRkMjVlNzFmYTAwNzIyMzE4Y2QzODczOTZjYTE3MzY2MDVlMTI0ODgy
MWNjMGRlM2QzYWY4CiAgICAtLS0tLS0tLS0tLS0tLWUtLS0tLS0tIC5jaHVua3MvYmI5Zi9iYjlm
OGRmNjE0NzRkMjVlNzFmYTAwNzIyMzE4Y2QzODczOTZjYTE3MzY2MDVlMTI0ODgyMWNjMGRlM2Qz
YWY4CgoKQW5kIGZpbmFsbHksIGp1c3QgZm9yIGNvbXBsZXRlbmVzcycgc2FrZSwgd2UncmUgdXNp
bmcgYm90aCBVVElNRV9OT1cgYW5kClVUSU1FX09NSVQgaW4gYGNvbmRfdG91Y2hfcGF0aGA6Cgog
ICAgbGV0IHRpbWVzOiBbbGliYzo6dGltZXNwZWM7IDJdID0gWwogICAgICAgIC8vIGFjY2VzcyB0
aW1lIC0+IHVwZGF0ZSB0byBub3cKICAgICAgICBsaWJjOjp0aW1lc3BlYyB7CiAgICAgICAgICAg
IHR2X3NlYzogMCwKICAgICAgICAgICAgdHZfbnNlYzogbGliYzo6VVRJTUVfTk9XLAogICAgICAg
IH0sCiAgICAgICAgLy8gbW9kaWZpY2F0aW9uIHRpbWUgLT4ga2VlcCBhcyBpcwogICAgICAgIGxp
YmM6OnRpbWVzcGVjIHsKICAgICAgICAgICAgdHZfc2VjOiAwLAogICAgICAgICAgICB0dl9uc2Vj
OiBsaWJjOjpVVElNRV9PTUlULAogICAgICAgIH0sCiAgICBdOwoKCkFjY29yZGluZyB0byB0aGUg
ZG9jcyBvZiBgbWFuIDIgdXRpbWVuc2F0YCwgdGhpcyB3b3VsZCBzdWdnZXN0IHRoYXQKd2UncmUg
bm90IHJ1bm5pbmcgdW5kZXIgdGhlIGV4cGVjdGVkIGVmZmVjdGl2ZSBVSUQgYW5kIGRvbid0IGhh
dmUKdGhlIENBUF9GT1dORVIgY2FwYWJpbGl0eS4KClRoaXMgaXMgdGhlIGFjdHVhbCBjcnV4IG9m
IHRoZSBpc3N1ZSwgc2luY2UgdGhlIGNodW5rIGlzIG93bmVkIGJ5CmByb290YDoKCiAgICAkIGxz
IC1hbGggLmNodW5rcy9iYjlmCiAgICB0b3RhbCAxLjFNCiAgICBkcnd4ci14LS0tIDIgYmFja3Vw
IGJhY2t1cCA0LjBLIEFwciAgNCAxNzoxMSAuCiAgICBkcnd4ci14LS0tIDEgYmFja3VwIGJhY2t1
cCAxLjFNIEFwciAgNCAxNzoxMSAuLgogICAgLXJ3LXItLXItLSAxIHJvb3QgICByb290ICAgIDE1
OSBBcHIgIDQgMTc6MTEgYmI5ZjhkZjYxNDc0ZDI1ZTcxZmEwMDcyMjMxOGNkMzg3Mzk2Y2ExNzM2
NjA1ZTEyNDg4MjFjYzBkZTNkM2FmOAoKCkp1c3QgdG8gYWRkIHNvbWUgYWRkaXRpb25hbCBmaW5k
aW5ncyAtLSB3aGVuIHRoZSAqY2hlY2sgaXMgdHVybmVkIG9mZiosCkdDIG9uIHRoYXQgc2luZ2xl
IGNodW5rIChubyBiYWNrdXBzIG1hZGUgeWV0ISkgcnVucyBqdXN0IGZpbmU6CgogICAgMjAyNS0w
NC0wNFQxNzowMDo1MiswMjowMDogc3RhcnRpbmcgZ2FyYmFnZSBjb2xsZWN0aW9uIG9uIHN0b3Jl
IHRlc3Qtbm9hdGltZQogICAgMjAyNS0wNC0wNFQxNzowMDo1MiswMjowMDogQWNjZXNzIHRpbWUg
dXBkYXRlIGNoZWNrIGRpc2FibGVkIGJ5IGRhdGFzdG9yZSB0dW5pbmcgb3B0aW9ucy4KICAgIDIw
MjUtMDQtMDRUMTc6MDA6NTIrMDI6MDA6IFVzaW5nIGFjY2VzcyB0aW1lIGN1dG9mZiAxZCA1bSwg
bWluaW11bSBhY2Nlc3MgdGltZSBpcyAyMDI1LTA0LTAzVDE0OjU1OjUyWgogICAgMjAyNS0wNC0w
NFQxNzowMDo1MiswMjowMDogU3RhcnQgR0MgcGhhc2UxIChtYXJrIHVzZWQgY2h1bmtzKQogICAg
MjAyNS0wNC0wNFQxNzowMDo1MiswMjowMDogU3RhcnQgR0MgcGhhc2UyIChzd2VlcCB1bnVzZWQg
Y2h1bmtzKQogICAgMjAyNS0wNC0wNFQxNzowMDo1MiswMjowMDogcHJvY2Vzc2VkIDczJSAoMCBj
aHVua3MpCiAgICAyMDI1LTA0LTA0VDE3OjAwOjUyKzAyOjAwOiBSZW1vdmVkIGdhcmJhZ2U6IDAg
QgogICAgMjAyNS0wNC0wNFQxNzowMDo1MiswMjowMDogUmVtb3ZlZCBjaHVua3M6IDAKICAgIDIw
MjUtMDQtMDRUMTc6MDA6NTIrMDI6MDA6IFBlbmRpbmcgcmVtb3ZhbHM6IDE1OSBCIChpbiAxIGNo
dW5rcykKICAgIDIwMjUtMDQtMDRUMTc6MDA6NTIrMDI6MDA6IE9yaWdpbmFsIGRhdGEgdXNhZ2U6
IDAgQgogICAgMjAyNS0wNC0wNFQxNzowMDo1MiswMjowMDogT24tRGlzayBjaHVua3M6IDAKICAg
IDIwMjUtMDQtMDRUMTc6MDA6NTIrMDI6MDA6IERlZHVwbGljYXRpb24gZmFjdG9yOiAxLjAwCiAg
ICAyMDI1LTA0LTA0VDE3OjAwOjUyKzAyOjAwOiBxdWV1ZWQgbm90aWZpY2F0aW9uIChpZD00YmFi
MDc1NS0zZjI0LTRiMWEtOTliMC1kZThlOTYxM2RiOWIpCiAgICAyMDI1LTA0LTA0VDE3OjAwOjUy
KzAyOjAwOiBUQVNLIE9LCgoqQlVUKiwgd2hlbiBjcmVhdGluZyBhIGJhY2t1cCB2aWEgUFZFLCB0
aGUgY2hlY2sgYWN0dWFsbHkgcnVucywgZGVzcGl0ZQpiZWluZyB0dXJuZWQgb2ZmIC0tIHRoaXMg
YXBwZWFycyB0byBiZSBzb21ldGhpbmcgc2VwYXJhdGUgdGhhdCB5b3UgbWlnaHQKd2FudCB0byBj
aGVjayBhcyB3ZWxsOgoKICAgIElORk86IHN0YXJ0aW5nIG5ldyBiYWNrdXAgam9iOiB2emR1bXAg
MTAwIC0tbW9kZSBzbmFwc2hvdCAtLW5vdGVzLXRlbXBsYXRlICd7e2d1ZXN0bmFtZX19JyAtLXJl
bW92ZSAwIC0tbm9kZSByb3h5IC0tbm90aWZpY2F0aW9uLW1vZGUgYXV0byAtLXN0b3JhZ2UgcGJz
LWRldi10ZXN0LWF0aW1lCiAgICBJTkZPOiBTdGFydGluZyBCYWNrdXAgb2YgVk0gMTAwIChxZW11
KQogICAgSU5GTzogQmFja3VwIHN0YXJ0ZWQgYXQgMjAyNS0wNC0wNCAxNzowMjo0OQogICAgSU5G
Tzogc3RhdHVzID0gcnVubmluZwogICAgSU5GTzogVk0gTmFtZTogZG5zCiAgICBJTkZPOiBpbmNs
dWRlIGRpc2sgJ3Njc2kwJyAnbG9jYWwtemZzLW1haW46dm0tMTAwLWRpc2stMCcgMTZHCiAgICBJ
TkZPOiBiYWNrdXAgbW9kZTogc25hcHNob3QKICAgIElORk86IGlvbmljZSBwcmlvcml0eTogNwog
ICAgSU5GTzogc25hcHNob3RzIGZvdW5kIChub3QgaW5jbHVkZWQgaW50byBiYWNrdXApCiAgICBJ
TkZPOiBjcmVhdGluZyBQcm94bW94IEJhY2t1cCBTZXJ2ZXIgYXJjaGl2ZSAndm0vMTAwLzIwMjUt
MDQtMDRUMTU6MDI6NDlaJwogICAgSU5GTzogaXNzdWluZyBndWVzdC1hZ2VudCAnZnMtZnJlZXpl
JyBjb21tYW5kCiAgICBJTkZPOiBpc3N1aW5nIGd1ZXN0LWFnZW50ICdmcy10aGF3JyBjb21tYW5k
CiAgICBFUlJPUjogVk0gMTAwIHFtcCBjb21tYW5kICdiYWNrdXAnIGZhaWxlZCAtIGJhY2t1cCBy
ZWdpc3RlciBpbWFnZSBmYWlsZWQ6IGNvbW1hbmQgZXJyb3I6IHVwZGF0ZSBhdGltZSBmYWlsZWQg
Zm9yIGNodW5rL2ZpbGUgIi9tbnQvZGF0YXN0b3JlL3Rlc3Qtbm9hdGltZS8uY2h1bmtzL2JiOWYv
YmI5ZjhkZjYxNDc0ZDI1ZTcxZmEwMDcyMjMxOGNkMzg3Mzk2Y2ExNzM2NjA1ZTEyNDg4MjFjYzBk
ZTNkM2FmOCIgLSBFUEVSTTogT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQKICAgIElORk86IGFib3J0
aW5nIGJhY2t1cCBqb2IKICAgIElORk86IHJlc3VtaW5nIFZNIGFnYWluCiAgICBFUlJPUjogQmFj
a3VwIG9mIFZNIDEwMCBmYWlsZWQgLSBWTSAxMDAgcW1wIGNvbW1hbmQgJ2JhY2t1cCcgZmFpbGVk
IC0gYmFja3VwIHJlZ2lzdGVyIGltYWdlIGZhaWxlZDogY29tbWFuZCBlcnJvcjogdXBkYXRlIGF0
aW1lIGZhaWxlZCBmb3IgY2h1bmsvZmlsZSAiL21udC9kYXRhc3RvcmUvdGVzdC1ub2F0aW1lLy5j
aHVua3MvYmI5Zi9iYjlmOGRmNjE0NzRkMjVlNzFmYTAwNzIyMzE4Y2QzODczOTZjYTE3MzY2MDVl
MTI0ODgyMWNjMGRlM2QzYWY4IiAtIEVQRVJNOiBPcGVyYXRpb24gbm90IHBlcm1pdHRlZAogICAg
SU5GTzogRmFpbGVkIGF0IDIwMjUtMDQtMDQgMTc6MDI6NDkKICAgIElORk86IEJhY2t1cCBqb2Ig
ZmluaXNoZWQgd2l0aCBlcnJvcnMKICAgIFRBU0sgRVJST1I6IGpvYiBlcnJvcnMKCkp1c3QgdG8g
YmUgc3VyZToKCiAgICAkIGNhdCAvZXRjL3Byb3htb3gtYmFja3VwL2RhdGFzdG9yZS5jZmcKICAg
ICMgWy4uLl0KICAgIGRhdGFzdG9yZTogdGVzdC1ub2F0aW1lCiAgICAgICAgICAgIGNvbW1lbnQK
ICAgICAgICAgICAgZ2Mtc2NoZWR1bGUgZGFpbHkKICAgICAgICAgICAgbm90aWZpY2F0aW9uLW1v
ZGUgbm90aWZpY2F0aW9uLXN5c3RlbQogICAgICAgICAgICBwYXRoIC9tbnQvZGF0YXN0b3JlL3Rl
c3Qtbm9hdGltZQogICAgICAgICAgICB0dW5pbmcgZ2MtYXRpbWUtc2FmZXR5LWNoZWNrPTAKCgoK
U28sIGZpeGluZyB0aGUgcGVybWlzc2lvbnMgd2l0aDoKCiAgICAjIGNob3duIGJhY2t1cDogLmNo
dW5rcy9iYjlmL2JiOWY4ZGY2MTQ3NGQyNWU3MWZhMDA3MjIzMThjZDM4NzM5NmNhMTczNjYwNWUx
MjQ4ODIxY2MwZGUzZDNhZjgKCi4uIGFsbG93cyB0aGUgY2hlY2sgdG8gcGFzczoKCiAgICAyMDI1
LTA0LTA0VDE3OjE0OjM0KzAyOjAwOiBzdGFydGluZyBnYXJiYWdlIGNvbGxlY3Rpb24gb24gc3Rv
cmUgdGVzdC1ub2F0aW1lCiAgICAyMDI1LTA0LTA0VDE3OjE0OjM1KzAyOjAwOiBBY2Nlc3MgdGlt
ZSB1cGRhdGUgY2hlY2sgc3VjY2Vzc2Z1bCwgcHJvY2VlZGluZyB3aXRoIEdDLgogICAgMjAyNS0w
NC0wNFQxNzoxNDozNSswMjowMDogVXNpbmcgYWNjZXNzIHRpbWUgY3V0b2ZmIDFkIDVtLCBtaW5p
bXVtIGFjY2VzcyB0aW1lIGlzIDIwMjUtMDQtMDNUMTU6MDk6MzRaCiAgICAyMDI1LTA0LTA0VDE3
OjE0OjM1KzAyOjAwOiBTdGFydCBHQyBwaGFzZTEgKG1hcmsgdXNlZCBjaHVua3MpCiAgICAyMDI1
LTA0LTA0VDE3OjE0OjM1KzAyOjAwOiBTdGFydCBHQyBwaGFzZTIgKHN3ZWVwIHVudXNlZCBjaHVu
a3MpCiAgICAyMDI1LTA0LTA0VDE3OjE0OjM1KzAyOjAwOiBwcm9jZXNzZWQgNzMlICgwIGNodW5r
cykKICAgIDIwMjUtMDQtMDRUMTc6MTQ6MzUrMDI6MDA6IFJlbW92ZWQgZ2FyYmFnZTogMCBCCiAg
ICAyMDI1LTA0LTA0VDE3OjE0OjM1KzAyOjAwOiBSZW1vdmVkIGNodW5rczogMAogICAgMjAyNS0w
NC0wNFQxNzoxNDozNSswMjowMDogT3JpZ2luYWwgZGF0YSB1c2FnZTogMCBCCiAgICAyMDI1LTA0
LTA0VDE3OjE0OjM1KzAyOjAwOiBPbi1EaXNrIGNodW5rczogMQogICAgMjAyNS0wNC0wNFQxNzox
NDozNSswMjowMDogRGVkdXBsaWNhdGlvbiBmYWN0b3I6IDAuMDAKICAgIDIwMjUtMDQtMDRUMTc6
MTQ6MzUrMDI6MDA6IEF2ZXJhZ2UgY2h1bmsgc2l6ZTogMTU5IEIKICAgIDIwMjUtMDQtMDRUMTc6
MTQ6MzUrMDI6MDA6IHF1ZXVlZCBub3RpZmljYXRpb24gKGlkPTA2ZDc2MzQ5LTI2YWYtNDNkYS05
ZGRiLTViMGVlMmZhYmZhOCkKICAgIDIwMjUtMDQtMDRUMTc6MTQ6MzUrMDI6MDA6IFRBU0sgT0sK
ClNvLCBndWVzcyB5b3UganVzdCBoYXZlIHRvIGNoYW5nZSB0aGUgVUlEIGFuZCBHSUQgd2hlbiBj
cmVhdGluZyB0aGUKdGVzdCBjaHVuayA7UAoKPiArCj4gKyAgICAgICAgbGV0IG1ldGFkYXRhX25v
dyA9IHN0ZDo6ZnM6Om1ldGFkYXRhKCZwYXRoKS5jb250ZXh0KGZvcm1hdCEoCj4gKyAgICAgICAg
ICAgICJmYWlsZWQgdG8gZ2V0IG1ldGFkYXRhIGZvciB7cGF0aDo/fSBhZnRlciBhdGltZSB1cGRh
dGUiCj4gKyAgICAgICAgKSk/Owo+ICsKPiArICAgICAgICAvLyBDaGVjayBmb3IgdGhlIHVubGlr
ZWx5IGNhc2UgdGhhdCB0aGUgZmlsZSBjaGFuZ2VkIGluLWJldHdlZW4gdGhlCj4gKyAgICAgICAg
Ly8gdHdvIG1ldGFkYXRhIGNhbGxzLCB0cnkgdG8gY2hlY2sgb25jZSBhZ2FpbiBvbiBjaGFuZ2Vk
IGZpbGUKPiArICAgICAgICBpZiBtZXRhZGF0YV9iZWZvcmUuaW5vKCkgIT0gbWV0YWRhdGFfbm93
LmlubygpIHsKPiArICAgICAgICAgICAgaWYgcmV0cnlfb25fZmlsZV9jaGFuZ2VkIHsKPiArICAg
ICAgICAgICAgICAgIHJldHVybiBzZWxmLmNoZWNrX2ZzX2F0aW1lX3VwZGF0ZXMoZmFsc2UpOwo+
ICsgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgIGJhaWwhKCJjaHVuayB7cGF0aDo/fSBjaGFu
Z2VkIHR3aWNlIGR1cmluZyBhY2Nlc3MgdGltZSBzYWZldHkgY2hlY2ssIGNhbm5vdCBwcm9jZWVk
LiIpOwo+ICsgICAgICAgIH0KPiArCj4gKyAgICAgICAgaWYgbWV0YWRhdGFfYmVmb3JlLmFjY2Vz
c2VkKCk/ID49IG1ldGFkYXRhX25vdy5hY2Nlc3NlZCgpPyB7Cj4gKyAgICAgICAgICAgIGxldCBj
aHVua19pbmZvX3N0ciA9IGlmIHByZV9leGlzdGluZyB7Cj4gKyAgICAgICAgICAgICAgICAicHJl
LWV4aXN0aW5nIgo+ICsgICAgICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAgICAgICAgIm5l
d2x5IGluc2VydGVkIgo+ICsgICAgICAgICAgICB9Owo+ICsgICAgICAgICAgICB3YXJuISgiQ2h1
bmsgbWV0YWRhdGEgd2FzIG5vdCBjb3JyZWN0bHkgdXBkYXRlZCBkdXJpbmcgYWNjZXNzIHRpbWUg
c2FmZXR5IGNoZWNrOiIpOwo+ICsgICAgICAgICAgICBpbmZvISgKPiArICAgICAgICAgICAgICAg
ICJUaW1lc3RhbXBzIGJlZm9yZSB1cGRhdGU6IGFjY2Vzc2VkIHs6P30sIG1vZGlmaWVkIHs6P30s
IGNyZWF0ZWQgezo/fSIsCj4gKyAgICAgICAgICAgICAgICBtZXRhZGF0YV9iZWZvcmUuYWNjZXNz
ZWQoKS5vaygpLAo+ICsgICAgICAgICAgICAgICAgbWV0YWRhdGFfYmVmb3JlLm1vZGlmaWVkKCku
b2soKSwKPiArICAgICAgICAgICAgICAgIG1ldGFkYXRhX2JlZm9yZS5jcmVhdGVkKCkub2soKSwK
PiArICAgICAgICAgICAgKTsKPiArICAgICAgICAgICAgaW5mbyEoCj4gKyAgICAgICAgICAgICAg
ICAiVGltZXN0YW1wcyBhZnRlciB1cGRhdGU6IGFjY2Vzc2VkIHs6P30sIG1vZGlmaWVkIHs6P30s
IGNyZWF0ZWQgezo/fSIsCj4gKyAgICAgICAgICAgICAgICBtZXRhZGF0YV9ub3cuYWNjZXNzZWQo
KS5vaygpLAo+ICsgICAgICAgICAgICAgICAgbWV0YWRhdGFfbm93Lm1vZGlmaWVkKCkub2soKSwK
PiArICAgICAgICAgICAgICAgIG1ldGFkYXRhX25vdy5jcmVhdGVkKCkub2soKSwKPiArICAgICAg
ICAgICAgKTsKPiArICAgICAgICAgICAgYmFpbCEoImFjY2VzcyB0aW1lIHNhZmV0eSBjaGVjayB1
c2luZyB7Y2h1bmtfaW5mb19zdHJ9IGNodW5rIGZhaWxlZCwgYWJvcnRpbmcgR0MhIik7Cj4gKyAg
ICAgICAgfQo+ICsKPiArICAgICAgICBPaygoKSkKPiArICAgIH0KPiArCj4gICAgICBwdWIgZm4g
aW5zZXJ0X2NodW5rKCZzZWxmLCBjaHVuazogJkRhdGFCbG9iLCBkaWdlc3Q6ICZbdTg7IDMyXSkg
LT4gUmVzdWx0PChib29sLCB1NjQpLCBFcnJvcj4gewo+ICAgICAgICAgIC8vIHVud3JhcDogb25s
eSBgTm9uZWAgaW4gdW5pdCB0ZXN0cwo+ICAgICAgICAgIGFzc2VydCEoc2VsZi5sb2NrZXIuaXNf
c29tZSgpKTsKPiBkaWZmIC0tZ2l0IGEvcGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzIGIv
cGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzCj4gaW5kZXggYTZhOTFjYTc5Li45YmRiOTZi
MTggMTAwNjQ0Cj4gLS0tIGEvcGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzCj4gKysrIGIv
cGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzCj4gQEAgLTUsNyArNSw3IEBAIHVzZSBzdGQ6
Om9zOjp1bml4Ojppbzo6QXNSYXdGZDsKPiAgdXNlIHN0ZDo6cGF0aDo6e1BhdGgsIFBhdGhCdWZ9
Owo+ICB1c2Ugc3RkOjpzeW5jOjp7QXJjLCBMYXp5TG9jaywgTXV0ZXh9Owo+Cj4gLXVzZSBhbnlo
b3c6OntiYWlsLCBmb3JtYXRfZXJyLCBFcnJvcn07Cj4gK3VzZSBhbnlob3c6OntiYWlsLCBmb3Jt
YXRfZXJyLCBDb250ZXh0LCBFcnJvcn07Cj4gIHVzZSBuaXg6OnVuaXN0ZDo6e3VubGlua2F0LCBV
bmxpbmthdEZsYWdzfTsKPiAgdXNlIHRyYWNpbmc6OntpbmZvLCB3YXJufTsKPgo+IEBAIC0xMTcw
LDYgKzExNzAsMTkgQEAgaW1wbCBEYXRhU3RvcmUgewo+ICAgICAgICAgICAgICAgICAgdXBpZDog
U29tZSh1cGlkLnRvX3N0cmluZygpKSwKPiAgICAgICAgICAgICAgICAgIC4uRGVmYXVsdDo6ZGVm
YXVsdCgpCj4gICAgICAgICAgICAgIH07Cj4gKyAgICAgICAgICAgIGxldCB0dW5pbmc6IERhdGFz
dG9yZVR1bmluZyA9IHNlcmRlX2pzb246OmZyb21fdmFsdWUoCj4gKyAgICAgICAgICAgICAgICBE
YXRhc3RvcmVUdW5pbmc6OkFQSV9TQ0hFTUEKPiArICAgICAgICAgICAgICAgICAgICAucGFyc2Vf
cHJvcGVydHlfc3RyaW5nKGdjX3N0b3JlX2NvbmZpZy50dW5pbmcuYXNfZGVyZWYoKS51bndyYXBf
b3IoIiIpKT8sCj4gKyAgICAgICAgICAgICk/Owo+ICsgICAgICAgICAgICBpZiB0dW5pbmcuZ2Nf
YXRpbWVfc2FmZXR5X2NoZWNrLnVud3JhcF9vcih0cnVlKSB7Cj4gKyAgICAgICAgICAgICAgICBz
ZWxmLmlubmVyCj4gKyAgICAgICAgICAgICAgICAgICAgLmNodW5rX3N0b3JlCj4gKyAgICAgICAg
ICAgICAgICAgICAgLmNoZWNrX2ZzX2F0aW1lX3VwZGF0ZXModHJ1ZSkKPiArICAgICAgICAgICAg
ICAgICAgICAuY29udGV4dCgiYXRpbWUgc2FmZXR5IGNoZWNrIGZhaWxlZCIpPzsKPiArICAgICAg
ICAgICAgICAgIGluZm8hKCJBY2Nlc3MgdGltZSB1cGRhdGUgY2hlY2sgc3VjY2Vzc2Z1bCwgcHJv
Y2VlZGluZyB3aXRoIEdDLiIpOwo+ICsgICAgICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAg
ICAgICAgaW5mbyEoIkFjY2VzcyB0aW1lIHVwZGF0ZSBjaGVjayBkaXNhYmxlZCBieSBkYXRhc3Rv
cmUgdHVuaW5nIG9wdGlvbnMuIik7Cj4gKyAgICAgICAgICAgIH0KPgo+ICAgICAgICAgICAgICBp
bmZvISgiU3RhcnQgR0MgcGhhc2UxIChtYXJrIHVzZWQgY2h1bmtzKSIpOwo+Cj4gZGlmZiAtLWdp
dCBhL3NyYy9hcGkyL2NvbmZpZy9kYXRhc3RvcmUucnMgYi9zcmMvYXBpMi9jb25maWcvZGF0YXN0
b3JlLnJzCj4gaW5kZXggNThhY2FhODYxLi4yZGY4MzAxZGYgMTAwNjQ0Cj4gLS0tIGEvc3JjL2Fw
aTIvY29uZmlnL2RhdGFzdG9yZS5ycwo+ICsrKyBiL3NyYy9hcGkyL2NvbmZpZy9kYXRhc3RvcmUu
cnMKPiBAQCAtMSwxMCArMSwxMCBAQAo+ICB1c2Ugc3RkOjpwYXRoOjp7UGF0aCwgUGF0aEJ1Zn07
Cj4KPiAgdXNlIDo6c2VyZGU6OntEZXNlcmlhbGl6ZSwgU2VyaWFsaXplfTsKPiAtdXNlIGFueWhv
dzo6e2JhaWwsIEVycm9yfTsKPiArdXNlIGFueWhvdzo6e2JhaWwsIENvbnRleHQsIEVycm9yfTsK
PiAgdXNlIGhleDo6RnJvbUhleDsKPiAgdXNlIHNlcmRlX2pzb246OlZhbHVlOwo+IC11c2UgdHJh
Y2luZzo6d2FybjsKPiArdXNlIHRyYWNpbmc6OntpbmZvLCB3YXJufTsKPgo+ICB1c2UgcHJveG1v
eF9yb3V0ZXI6OntodHRwX2JhaWwsIFBlcm1pc3Npb24sIFJvdXRlciwgUnBjRW52aXJvbm1lbnQs
IFJwY0Vudmlyb25tZW50VHlwZX07Cj4gIHVzZSBwcm94bW94X3NjaGVtYTo6e2FwaSwgcGFyYW1f
YmFpbCwgQXBpVHlwZX07Cj4gQEAgLTEyMiw4ICsxMjIsMTYgQEAgcHViKGNyYXRlKSBmbiBkb19j
cmVhdGVfZGF0YXN0b3JlKAo+ICAgICAgICAgIFVubW91bnRHdWFyZDo6bmV3KE5vbmUpCj4gICAg
ICB9Owo+Cj4gLSAgICBpZiByZXVzZV9kYXRhc3RvcmUgewo+IC0gICAgICAgIENodW5rU3RvcmU6
OnZlcmlmeV9jaHVua3N0b3JlKCZwYXRoKT87Cj4gKyAgICBsZXQgY2h1bmtfc3RvcmUgPSBpZiBy
ZXVzZV9kYXRhc3RvcmUgewo+ICsgICAgICAgIENodW5rU3RvcmU6OnZlcmlmeV9jaHVua3N0b3Jl
KCZwYXRoKS5hbmRfdGhlbih8X3wgewo+ICsgICAgICAgICAgICAvLyBNdXN0IGJlIHRoZSBvbmx5
IGluc3RhbmNlIGFjY2Vzc2luZyBhbmQgbG9ja2luZyB0aGUgY2h1bmsgc3RvcmUsCj4gKyAgICAg
ICAgICAgIC8vIGRyb3BwaW5nIHdpbGwgY2xvc2UgYWxsIG90aGVyIGxvY2tzIGZyb20gdGhpcyBw
cm9jZXNzIG9uIHRoZSBsb2NrZmlsZSBhcyB3ZWxsLgo+ICsgICAgICAgICAgICBDaHVua1N0b3Jl
OjpvcGVuKAo+ICsgICAgICAgICAgICAgICAgJmRhdGFzdG9yZS5uYW1lLAo+ICsgICAgICAgICAg
ICAgICAgJnBhdGgsCj4gKyAgICAgICAgICAgICAgICB0dW5pbmcuc3luY19sZXZlbC51bndyYXBf
b3JfZGVmYXVsdCgpLAo+ICsgICAgICAgICAgICApCj4gKyAgICAgICAgfSk/Cj4gICAgICB9IGVs
c2Ugewo+ICAgICAgICAgIGlmIGxldCBPayhkaXIpID0gc3RkOjpmczo6cmVhZF9kaXIoJnBhdGgp
IHsKPiAgICAgICAgICAgICAgZm9yIGZpbGUgaW4gZGlyIHsKPiBAQCAtMTQxLDEwICsxNDksMTgg
QEAgcHViKGNyYXRlKSBmbiBkb19jcmVhdGVfZGF0YXN0b3JlKAo+ICAgICAgICAgICAgICBiYWNr
dXBfdXNlci51aWQsCj4gICAgICAgICAgICAgIGJhY2t1cF91c2VyLmdpZCwKPiAgICAgICAgICAg
ICAgdHVuaW5nLnN5bmNfbGV2ZWwudW53cmFwX29yX2RlZmF1bHQoKSwKPiAtICAgICAgICApCj4g
LSAgICAgICAgLm1hcCh8X3wgKCkpPzsKPiArICAgICAgICApPwo+ICAgICAgfTsKPgo+ICsgICAg
aWYgdHVuaW5nLmdjX2F0aW1lX3NhZmV0eV9jaGVjay51bndyYXBfb3IodHJ1ZSkgewo+ICsgICAg
ICAgIGNodW5rX3N0b3JlCj4gKyAgICAgICAgICAgIC5jaGVja19mc19hdGltZV91cGRhdGVzKHRy
dWUpCj4gKyAgICAgICAgICAgIC5jb250ZXh0KCJhY2Nlc3MgdGltZSBzYWZldHkgY2hlY2sgZmFp
bGVkIik/Owo+ICsgICAgICAgIGluZm8hKCJBY2Nlc3MgdGltZSB1cGRhdGUgY2hlY2sgc3VjY2Vz
c2Z1bC4iKTsKPiArICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgaW5mbyEoIkFjY2VzcyB0aW1lIHVw
ZGF0ZSBjaGVjayBza2lwcGVkLiIpOwo+ICsgICAgfQo+ICsKPiAgICAgIGNvbmZpZy5zZXRfZGF0
YSgmZGF0YXN0b3JlLm5hbWUsICJkYXRhc3RvcmUiLCAmZGF0YXN0b3JlKT87Cj4KPiAgICAgIHBi
c19jb25maWc6OmRhdGFzdG9yZTo6c2F2ZV9jb25maWcoJmNvbmZpZyk/OwoKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwYnMtZGV2ZWwgbWFpbGluZyBs
aXN0CnBicy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29t
L2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2ZWwK