From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id E0E371FF164 for ; Fri, 28 Feb 2025 13:14:33 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 9D874CB8E; Fri, 28 Feb 2025 13:14:31 +0100 (CET) Message-ID: Date: Fri, 28 Feb 2025 13:13:56 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Hannes Laimer , Proxmox Backup Server development discussion References: <20250116064543.74619-1-h.laimer@proxmox.com> <20250116064543.74619-4-h.laimer@proxmox.com> <1235fc69-3d69-4a16-a273-a9270a6a3afb@proxmox.com> <2eba7340-531c-40a9-a470-386aa6b2aad3@proxmox.com> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: <2eba7340-531c-40a9-a470-386aa6b2aad3@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.029 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 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [job.store, datastore.rs, datastore.name, sync.rs] Subject: Re: [pbs-devel] [PATCH proxmox-backup 3/7] api: admin: run configured sync jobs when a datastore is mounted X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" T24gMi8yOC8yNSAwOToxOCwgSGFubmVzIExhaW1lciB3cm90ZToKPiAKPiAKPiBPbiAyLzQvMjUg MTU6MzMsIENocmlzdGlhbiBFYm5lciB3cm90ZToKPj4gVGhpcyBwYXRjaCBuZWVkcyB0byBiZSBy ZWJhc2VkIG9uIGN1cnJlbnQgbWFzdGVyLgo+Pgo+PiBIaWdoIGxldmVsIGNvbW1lbnQ6Cj4+IE1p eGluZyB0aGUgbW91bnQgYXBpIGhhbmRsZXIgd2l0aCB0aGUgZXhlY3V0aW9uIGxvZ2ljIGZvciB0 aGUgc3luYyAKPj4gam9icyBpcyBub3QgdGhlIGJlc3QgYXBwcm9hY2ggaGVyZSBJIHRoaW5rLiBU aGlzIG1peGVzIHVucmVsYXRlZCBjb2RlIAo+PiBhbmQgbWFrZXMgaXQgaGFyZGVyIHRvIGZ1cnRo ZXIgZXh0ZW5kwqAgdGhpcyB0byBlLmcuIGFsc28gcnVuIHZlcmlmeSwgCj4+IHBydW5lIG9yIGdh cmJhZ2UgY29sbGVjdGlvbiBpbiB0aGUgZnV0dXJlLgo+Pgo+IAo+IFRoZSBlbmRwb2ludCBzdGFy dHMgdGhlIHRhc2sgdGhhdCBkb2VzIHRoZSBtb3VudGluZywgYW5kIGl0IHN0YXJ0cyB0aGUKPiB0 YXNrcyB0aGF0IG1hbmFnZXMgcG9zc2libGUgc3luYyBqb2JzLiBJIGRvbid0IHRoaW5rIHRoaXMg cmVhbGx5IGRvZXMKPiBhbnl0aGluZyB0byB0aGUgbG9naWMgb2YgdGhlIHN5bmMgam9iIGl0c2Vs Zi4gU3VyZSwgdGhpcwo+ICJydW4gdGhlc2Ugam9icyBpbiBzZXF1ZW5jZSIgd291bGQgbWFrZSBz ZW5zZSwgYnV0IGN1cnJlbnRseSB3ZSBjYW4ndCBkbwo+IHRoYXQsIHdlIGRvbid0IGhhdmUgYW4g aW50ZXJmYWNlIGZvciBqb2JzLiBOb3QgZXZlbiBqb2ItaWRzIGFyZSB1bmlxdWUKPiBhY3Jvc3Mg ZGlmZmVyZW50IGpvYiB0eXBlcy4gSSBhbSBub3Qgc3VyZSB3ZWF0aGVyIHRoZXJlIHdvdWxkIGJl IGEgbG90Cj4gb2YgdmFsdWUgaW4gdHJ5aW5nIHRvIGhhdmUgYSBtb3JlIGFic3RyYWN0IGpvYiB0 aGluZ3MuIFRoZSBvbmx5IHRoaW5nCj4gSSBjb3VsZCB0aGluayBvZiBpcyBqb2JzIHRyaWdnZXJp bmcgZWFjaCBvdGhlci4gQnV0IEkgZmVlbCBsaWtlIHRoYXQKPiBtaWdodCBiZSBvdXQgb2Ygc2Nv cGUgZm9yIHRoaXMgaGVyZS4KClJpZ2h0LCB0aGVyZWZvcmUgaGF2aW5nIHRoZSBqb2Igc2NoZWR1 bGVyIHF1ZXVpbmcgYW5kIGV4ZWN1dGluZyB0aGUgam9icyAKc2VlbWVkIGJldHRlciB0byBtZS4g QnV0IHlvdSBhcmUgcmlnaHQsIHRoZXJlIGlzIGN1cnJlbnRseSBubyAKaW1wbGVtZW50YXRpb24g dGhhdCB3b3VsZCBhY2hpZXZlIHRoaXMuCgo+IAo+PiBKdXN0IGFuIGlkZWE6IE1heWJlIGl0IHdv dWxkIGJlIHBvc3NpYmxlIHRvIGxldCB0aGUgbW91bnQgd29ya2VyIHRhc2sgCj4+IHNpZ25hbCB0 aGUgbW91bnQgZXZlbnQgdmlhIGUuZy4gYSBzdGQ6OnN5bmM6Om1wc2M6OmNoYW5uZWwoKSBvciB0 aGUgCj4+IGNvbW1hbmQgc29ja2V0IChhbHJlYWR5IHVzZWQgdG8gcmVxdWVzdCBkYXRhc3RvcmUg Y2FjaGUgdXBkYXRlcyBvbiAKPj4gdW5tb3VudCkgdG8gc2NoZWR1bGUgYSBtYW5hZ2luZyB0YXNr IGluIHRoZSBwcm94bW94LWJhY2t1cC1wcm94eT8KPj4KPiAKPiBUaGlzIGlzIGEgcHJpdmlsZWdl ZCBlbmRwb2ludCwgaXQgcnVucyBvbiB0aGUgYXBpIHByb2Nlc3MsIHNvIHdlCj4gY2FuJ3QgcmVh bGx5IHVzZSBjaGFubmVscyBoZXJlLiBBbmQgaXQgZG9uJ3QgdGhpbmsgdGhlIGNvbW1hbmQgc29j a2V0Cj4gaXMgdGhlIHJpZ2h0IHRvb2wgZm9yIHRoaXMsIG9uZSByZWFzb24gYmVpbmcgaXQgaXMg bW9yZSBvZiBhIGhpdCBvciBtaXNzCj4gKHRlY2huaWNhbGx5KSB3aGljaCBpcyBub3QgcmVhbGx5 IHdoYXQgd2Ugd2FudCBoZXJlLiBBbHNvIGhhdmluZyB0aGUgYXBpCj4gcHJvY2VzcyBoYW5kbGUg dGhpcyBpcyBJTUhPIG5vdCB3aGF0IHdlIHdhbnQuCgpSaWdodCwgZmFpciBwb2ludCwgd2FzIGp1 c3QgdGhyb3dpbmcgaWRlYXMgYXQgeW91IDspLgoKSW4gbGFjayBvZiBiZXR0ZXIgYXBwcm9hY2hl cyBvbmUgbWlnaHQgc3RpY2sgd2l0aCB0aGUgY3VycmVudCAKaW1wbGVtZW50YXRpb24gZm9yIGV4 ZWN1dGluZyB0aGUgam9icy4gQnV0IEkgdGhpbmsgdGhpcyBpcyByYXRoZXIgCnVuZmxleGlibGUg YW5kIHdpbGwgYmUgaGFyZGVyIHRvIGV4dGVuZCBpZiBuZWVkZWQsIGdldHRpbmcgbWVzc3kgd2l0 aCBhIApqb2IgZXhlY3V0aW5nIGpvYnMsIHdoaWNoIHRoZW1zZWxmIG1pZ2h0IGV4ZWN1dGUgeWV0 IGFub3RoZXIgam9iPwoKT3BpbmlvbnMgb3Igc3VnZ2VzdGlvbnMgb2Ygb3RoZXIgZGV2cyBvbiB0 aGlzPwoKPiAKPj4gZnVydGhlciBjb21tZW50cyBpbmxpbmUuCj4+Cj4+IE9uIDEvMTYvMjUgMDc6 NDUsIEhhbm5lcyBMYWltZXIgd3JvdGU6Cj4+PiBXaGVuIGEgZGF0YXN0b3JlIGlzIG1vdW50ZWQs IHNwYXduIGEgbmV3IHRhc2sgdG8gcnVuIGFsbCBzeW5jIGpvYnMKPj4+IG1hcmtlZCB3aXRoIGBy dW4tb24tbW91bnRgLiBUaGVzZSBqb2JzIHJ1biBzZXF1ZW50aWFsbHkgYW5kIGluY2x1ZGUKPj4+ IGFueSBqb2IgZm9yIHdoaWNoIHRoZSBtb3VudGVkIGRhdGFzdG9yZSBpczoKPj4+Cj4+PiAtIFRo ZSBzb3VyY2Ugb3IgdGFyZ2V0IGluIGEgbG9jYWwgcHVzaC9wdWxsIGpvYgo+Pj4gLSBUaGUgc291 cmNlIGluIGEgcHVzaCBqb2IgdG8gYSByZW1vdGUgZGF0YXN0b3JlCj4+PiAtIFRoZSB0YXJnZXQg aW4gYSBwdWxsIGpvYiBmcm9tIGEgcmVtb3RlIGRhdGFzdG9yZQo+Pj4KPj4+IFNpZ25lZC1vZmYt Ynk6IEhhbm5lcyBMYWltZXIgPGgubGFpbWVyQHByb3htb3guY29tPgo+Pj4gLS0tCj4+PiDCoCBz cmMvYXBpMi9hZG1pbi9kYXRhc3RvcmUucnMgfCA5MCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tCj4+PiDCoCBzcmMvYXBpMi9hZG1pbi9zeW5jLnJzwqDCoMKgwqDCoCB8wqAg MiArLQo+Pj4gwqAgc3JjL3NlcnZlci9zeW5jLnJzwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA3ICst LQo+Pj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygt KQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9zcmMvYXBpMi9hZG1pbi9kYXRhc3RvcmUucnMgYi9zcmMv YXBpMi9hZG1pbi9kYXRhc3RvcmUucnMKPj4+IGluZGV4IGY1ZDgwZDYxMC4uMjFiNTgzOTFkIDEw MDY0NAo+Pj4gLS0tIGEvc3JjL2FwaTIvYWRtaW4vZGF0YXN0b3JlLnJzCj4+PiArKysgYi9zcmMv YXBpMi9hZG1pbi9kYXRhc3RvcmUucnMKPj4+IEBAIC00MSw4ICs0MSw4IEBAIHVzZSBwYnNfYXBp X3R5cGVzOjp7Cj4+PiDCoMKgwqDCoMKgIERhdGFTdG9yZUNvbmZpZywgRGF0YVN0b3JlTGlzdEl0 ZW0sIERhdGFTdG9yZU1vdW50U3RhdHVzLCAKPj4+IERhdGFTdG9yZVN0YXR1cywKPj4+IMKgwqDC oMKgwqAgR2FyYmFnZUNvbGxlY3Rpb25Kb2JTdGF0dXMsIEdyb3VwTGlzdEl0ZW0sIEpvYlNjaGVk dWxlU3RhdHVzLCAKPj4+IEtlZXBPcHRpb25zLCBNYWludGVuYW5jZU1vZGUsCj4+PiDCoMKgwqDC oMKgIE1haW50ZW5hbmNlVHlwZSwgT3BlcmF0aW9uLCBQcnVuZUpvYk9wdGlvbnMsIFNuYXBzaG90 TGlzdEl0ZW0sIAo+Pj4gU25hcHNob3RWZXJpZnlTdGF0ZSwKPj4+IC3CoMKgwqAgQkFDS1VQX0FS Q0hJVkVfTkFNRV9TQ0hFTUEsIEJBQ0tVUF9JRF9TQ0hFTUEsIAo+Pj4gQkFDS1VQX05BTUVTUEFD RV9TQ0hFTUEsIEJBQ0tVUF9USU1FX1NDSEVNQSwKPj4+IC3CoMKgwqAgQkFDS1VQX1RZUEVfU0NI RU1BLCBDQVRBTE9HX05BTUUsIENMSUVOVF9MT0dfQkxPQl9OQU1FLCAKPj4+IERBVEFTVE9SRV9T Q0hFTUEsCj4+PiArwqDCoMKgIFN5bmNKb2JDb25maWcsIEJBQ0tVUF9BUkNISVZFX05BTUVfU0NI RU1BLCBCQUNLVVBfSURfU0NIRU1BLCAKPj4+IEJBQ0tVUF9OQU1FU1BBQ0VfU0NIRU1BLAo+Pj4g K8KgwqDCoCBCQUNLVVBfVElNRV9TQ0hFTUEsIEJBQ0tVUF9UWVBFX1NDSEVNQSwgQ0FUQUxPR19O QU1FLCAKPj4+IENMSUVOVF9MT0dfQkxPQl9OQU1FLCBEQVRBU1RPUkVfU0NIRU1BLAo+Pj4gwqDC oMKgwqDCoCBJR05PUkVfVkVSSUZJRURfQkFDS1VQU19TQ0hFTUEsIE1BTklGRVNUX0JMT0JfTkFN RSwgCj4+PiBNQVhfTkFNRVNQQUNFX0RFUFRILCBOU19NQVhfREVQVEhfU0NIRU1BLAo+Pj4gwqDC oMKgwqDCoCBQUklWX0RBVEFTVE9SRV9BVURJVCwgUFJJVl9EQVRBU1RPUkVfQkFDS1VQLCAKPj4+ IFBSSVZfREFUQVNUT1JFX01PRElGWSwgUFJJVl9EQVRBU1RPUkVfUFJVTkUsCj4+PiDCoMKgwqDC oMKgIFBSSVZfREFUQVNUT1JFX1JFQUQsIFBSSVZfREFUQVNUT1JFX1ZFUklGWSwgUFJJVl9TWVNf TU9ESUZZLCAKPj4+IFVQSUQsIFVQSURfU0NIRU1BLAo+Pj4gQEAgLTI1MDAsNiArMjUwMCw1MSBA QCBwdWIgZm4gZG9fbW91bnRfZGV2aWNlKGRhdGFzdG9yZTogCj4+PiBEYXRhU3RvcmVDb25maWcp IC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsKPj4+IMKgwqDCoMKgwqAgT2soKCkpCj4+PiDCoCB9Cj4+ PiArYXN5bmMgZm4gZG9fc3luY19qb2JzKAo+Pgo+PiBuaXQ6IHRoaXMgaGVscGVyIGZ1bmN0aW9u IG1ha2VzIG1vcmUgc2Vuc2UgdG8gYmUgcGxhY2VkIGludG8gYHNyYy8gCj4+IGFwaTIvIGFkbWlu L3N5bmMucnNgIEkgd291bGQgc2F5LCBhcyBpdCBwdXJlbHkgaGFuZGxlcyBleGVjdXRpb24gb2Yg Cj4+IHN5bmMgam9icy4KPj4KPj4+ICvCoMKgwqAgam9ic190b19ydW46IFZlYzxTeW5jSm9iQ29u ZmlnPiwKPj4+ICvCoMKgwqAgd29ya2VyOiBBcmM8V29ya2VyVGFzaz4sCj4+PiArKSAtPiBSZXN1 bHQ8KCksIEVycm9yPiB7Cj4+PiArwqDCoMKgIGxldCBjb3VudCA9IGpvYnNfdG9fcnVuLmxlbigp Owo+Pj4gK8KgwqDCoCBpbmZvISgKPj4+ICvCoMKgwqDCoMKgwqDCoCAid2lsbCBydW4ge30gc3lu YyBqb2JzOiB7fSIsCj4+PiArwqDCoMKgwqDCoMKgwqAgY291bnQsCj4+Cj4+IG5pdDogdGhpcyB2 YXJpYWJsZSBjYW4gYmUgaW4tbGluZWQgaW50byB0aGUgZm9ybWF0IHN0cmluZy4KPj4KPj4+ICvC oMKgwqDCoMKgwqDCoCBqb2JzX3RvX3J1bgo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLml0 ZXIoKQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLm1hcCh8anwgai5pZC5jbG9uZSgpKQo+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmNvbGxlY3Q6OjxWZWM8U3RyaW5nPj4oKQo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmpvaW4oIiwgIikKPj4KPj4gbml0OiBub3Qgc3VyZSBp ZiBpdCBpcyByZXF1aXJlZCB0byBsaXN0IGFsbCBzeW5jIGpvYnMgYS1wcmlvcmksIAo+PiBlc3Bl Y2lhbGx5IHNpbmNlIHRoYXQgbGluZSBtaWdodCBnZXQgcmF0aGVyIGxvbmcgaWYgbWFueSBzeW5j IGpvYnMgYXJlIAo+PiB0byBiZSBleGVjdXRlZD8gQWxzbywgdGhhdCB3b3VsZCBhdm9pZCB0aGUg ZG91YmxlIGl0ZXJhdGlvbiBhbmQgaWQgCj4+IGNsb25pbmcuCj4+Cj4+PiArwqDCoMKgICk7Cj4+ PiArCj4+PiArwqDCoMKgIGZvciAoaSwgam9iX2NvbmZpZykgaW4gam9ic190b19ydW4uaW50b19p dGVyKCkuZW51bWVyYXRlKCkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgIGlmIHdvcmtlci5hYm9ydF9y ZXF1ZXN0ZWQoKSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBiYWlsISgiYWJvcnRlZCBk dWUgdG8gdXNlciByZXF1ZXN0Iik7Cj4+PiArwqDCoMKgwqDCoMKgwqAgfQo+Pj4gK8KgwqDCoMKg wqDCoMKgIGxldCBqb2JfaWQgPSBqb2JfY29uZmlnLmlkLmNsb25lKCk7Cj4+PiArwqDCoMKgwqDC oMKgwqAgbGV0IE9rKGpvYikgPSBKb2I6Om5ldygic3luY2pvYiIsICZqb2JfaWQpIGVsc2Ugewo+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7Cj4+PiArwqDCoMKgwqDCoMKgwqAg fTsKPj4+ICvCoMKgwqDCoMKgwqDCoCBsZXQgYXV0aF9pZCA9IEF1dGhpZDo6cm9vdF9hdXRoX2lk KCkuY2xvbmUoKTsKPj4+ICvCoMKgwqDCoMKgwqDCoCBpbmZvISgiW3t9L3tjb3VudH1dIHN0YXJ0 aW5nICd7am9iX2lkfScuLi4iLCBpICsgMSk7Cj4+PiArwqDCoMKgwqDCoMKgwqAgbWF0Y2ggY3Jh dGU6OnNlcnZlcjo6ZG9fc3luY19qb2IoCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBqb2Is Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBqb2JfY29uZmlnLAo+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgJmF1dGhfaWQsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb21lKCJt b3VudCIudG9fc3RyaW5nKCkpLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmFsc2UsCj4+ PiArwqDCoMKgwqDCoMKgwqAgKSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBPaygoX3Vw aWQsIGhhbmRsZSkpID0+IHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdG9r aW86OnNlbGVjdCEgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHN5bmNfZG9uZSA9IGhhbmRsZS5mdXNlKCkgPT4gaWYgbGV0IEVycihlcnIpID0gCj4+PiBzeW5j X2RvbmUgeyB3YXJuISgiY291bGQgbm90IHdhaXQgZm9yIGpvYiB0byBmaW5pc2g6IHtlcnJ9Iik7 IH0sCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX2Fib3J0ID0g d29ya2VyLmFib3J0X2Z1dHVyZSgpID0+IGJhaWwhKCJhYm9ydGVkIAo+Pj4gZHVlIHRvIHVzZXIg cmVxdWVzdCIpLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRXJyKGVy cikgPT4gd2FybiEoInVuYWJsZSB0byBzdGFydCBzeW5jIGpvYiB7am9iX2lkfSAtIAo+Pj4ge2Vy cn0iKSwKPj4+ICvCoMKgwqDCoMKgwqDCoCB9Cj4+PiArwqDCoMKgIH0KPj4+ICsKPj4+ICvCoMKg wqAgT2soKCkpCj4+PiArfQo+Pj4gKwo+Pj4gwqAgI1thcGkoCj4+PiDCoMKgwqDCoMKgIHByb3Rl Y3RlZDogdHJ1ZSwKPj4+IMKgwqDCoMKgwqAgaW5wdXQ6IHsKPj4+IEBAIC0yNTMxLDEyICsyNTc2 LDQ3IEBAIHB1YiBmbiBtb3VudChzdG9yZTogU3RyaW5nLCBycGNlbnY6ICZtdXQgZHluIAo+Pj4g UnBjRW52aXJvbm1lbnQpIC0+IFJlc3VsdDxWYWx1ZSwgRXIKPj4+IMKgwqDCoMKgwqAgbGV0IGF1 dGhfaWQ6IEF1dGhpZCA9IHJwY2Vudi5nZXRfYXV0aF9pZCgpLnVud3JhcCgpLnBhcnNlKCk/Owo+ Pj4gwqDCoMKgwqDCoCBsZXQgdG9fc3Rkb3V0ID0gcnBjZW52LmVudl90eXBlKCkgPT0gUnBjRW52 aXJvbm1lbnRUeXBlOjpDTEk7Cj4+PiAtwqDCoMKgIGxldCB1cGlkID0gV29ya2VyVGFzazo6bmV3 X3RocmVhZCgKPj4+ICvCoMKgwqAgbGV0IHVwaWQgPSBXb3JrZXJUYXNrOjpzcGF3bigKPj4+IMKg wqDCoMKgwqDCoMKgwqDCoCAibW91bnQtZGV2aWNlIiwKPj4+IC3CoMKgwqDCoMKgwqDCoCBTb21l KHN0b3JlKSwKPj4+ICvCoMKgwqDCoMKgwqDCoCBTb21lKHN0b3JlLmNsb25lKCkpLAo+Pj4gwqDC oMKgwqDCoMKgwqDCoMKgIGF1dGhfaWQudG9fc3RyaW5nKCksCj4+PiDCoMKgwqDCoMKgwqDCoMKg wqAgdG9fc3Rkb3V0LAo+Pj4gLcKgwqDCoMKgwqDCoMKgIG1vdmUgfF93b3JrZXJ8IGRvX21vdW50 X2RldmljZShkYXRhc3RvcmUpLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIG1vdmUgfF93b3JrZXJ8IGFz eW5jIG1vdmUgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZG9fbW91bnRfZGV2aWNlKGRh dGFzdG9yZS5jbG9uZSgpKT87Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsZXQgT2soKHN5 bmNfY29uZmlnLCBfZGlnZXN0KSkgPSAKPj4+IHBic19jb25maWc6OnN5bmM6OmNvbmZpZygpIGVs c2Ugewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3YXJuISgidW5hYmxlIHRv IHJlYWQgc3luYyBqb2IgY29uZmlnLCB3b24ndCBydW4gYW55IAo+Pj4gc3luYyBqb2JzIik7Cj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBPaygoKSk7Cj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGV0IE9r KGxpc3QpID0gCj4+PiBzeW5jX2NvbmZpZy5jb252ZXJ0X3RvX3R5cGVkX2FycmF5KCJzeW5jIikg ZWxzZSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHdhcm4hKCJ1bmFibGUg dG8gcGFyc2Ugc3luYyBqb2IgY29uZmlnLCB3b24ndCBydW4gCj4+PiBhbnkgc3luYyBqb2JzIik7 Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBPaygoKSk7Cj4+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGV0 IGpvYnNfdG9fcnVuOiBWZWM8U3luY0pvYkNvbmZpZz4gPSBsaXN0Cj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIC5pbnRvX2l0ZXIoKQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAuZmlsdGVyKHxqb2I6ICZTeW5jSm9iQ29uZmlnfCB7Cj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLy8gYWRkIGpvYiBpZmYgYW55IG9mIHRoZXNl IGFwcGx5Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLy/CoMKg IC0gdGhlIGpvYnMgaXMgbG9jYWwgYW5kIHdlIGFyZSBzb3VyY2Ugb3IgCj4+PiB0YXJnZXQKPj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvL8KgwqAgLSB3ZSBhcmUg dGhlIHNvdXJjZSBvZiBhIHB1c2ggdG8gYSByZW1vdGUKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAvL8KgwqAgLSB3ZSBhcmUgdGhlIHRhcmdldCBvZiBhIHB1bGwg ZnJvbSBhIHJlbW90ZQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IC8vCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLy8gYGpvYi5z dG9yZSA9PSBkYXRhc3RvcmUubmFtZWAgaWZmIHdlIGFyZSB0aGUgCj4+PiB0YXJnZXQgZm9yIHB1 bGwgZnJvbSByZW1vdGUgb3Igd2UKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAvLyBhcmUgdGhlIHNvdXJjZSBmb3IgcHVzaCB0byByZW1vdGUsIHRoZXJlZm9yZSAK Pj4+IHdlIGRvbid0IGhhdmUgdG8gY2hlY2sgZm9yIHRoZQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8vIGRpcmVjdGlvbiBvZiB0aGUgam9iLgo+Pgo+PiBUaGlz IG1pc3NlcyBhIGNoZWNrIGZvciB0aGUgYHJ1bl9vbl9tb3VudGAgZmxhZyBoZXJlIEkgdGhpbmss IGFzIGl0IGlzIAo+PiBuZXZlciByZWFkIGluIHRoZSByZXN0IG9mIHRoZSBwYXRjaCBzZXJpZXM/ Cj4+Cj4gCj4gSSB0aGluayB5b3UgYXJlIHJpZ2h0LCBJIGFjdHVhbGx5IG1pc3NlZCBjaGVja2lu ZyB0aGF0Li4uCj4gCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg am9iLnJlbW90ZS5pc19ub25lKCkgJiYgam9iLnJlbW90ZV9zdG9yZSA9PSAKPj4+IGRhdGFzdG9y ZS5uYW1lCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8fCBqb2Iuc3RvcmUgPT0gZGF0YXN0b3JlLm5hbWUKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfSkKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmNvbGxl Y3QoKTsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICFqb2JzX3RvX3J1bi5pc19lbXB0 eSgpIHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGV0IF8gPSBXb3JrZXJU YXNrOjpzcGF3bigKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAi bW91bnQtc3luYy1qb2JzIiwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBTb21lKHN0b3JlKSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBhdXRoX2lkLnRvX3N0cmluZygpLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGZhbHNlLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIG1vdmUgfHdvcmtlcnwgYXN5bmMgbW92ZSAKPj4+IHsgZG9fc3luY19qb2JzKGpvYnNf dG9fcnVuLCB3b3JrZXIpLmF3YWl0IH0sCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICk7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBPaygoKSkKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gwqDCoMKgwqDCoCApPzsK Pj4+IMKgwqDCoMKgwqAgT2soanNvbiEodXBpZCkpCj4+PiBkaWZmIC0tZ2l0IGEvc3JjL2FwaTIv YWRtaW4vc3luYy5ycyBiL3NyYy9hcGkyL2FkbWluL3N5bmMucnMKPj4+IGluZGV4IDY3MjJlYmVh MC4uMDFkZWE1MTI2IDEwMDY0NAo+Pj4gLS0tIGEvc3JjL2FwaTIvYWRtaW4vc3luYy5ycwo+Pj4g KysrIGIvc3JjL2FwaTIvYWRtaW4vc3luYy5ycwo+Pj4gQEAgLTE2MSw3ICsxNjEsNyBAQCBwdWIg Zm4gcnVuX3N5bmNfam9iKAo+Pj4gwqDCoMKgwqDCoCBsZXQgdG9fc3Rkb3V0ID0gcnBjZW52LmVu dl90eXBlKCkgPT0gUnBjRW52aXJvbm1lbnRUeXBlOjpDTEk7Cj4+PiAtwqDCoMKgIGxldCB1cGlk X3N0ciA9IGRvX3N5bmNfam9iKGpvYiwgc3luY19qb2IsICZhdXRoX2lkLCBOb25lLCAKPj4+IHRv X3N0ZG91dCk/Owo+Pj4gK8KgwqDCoCBsZXQgKHVwaWRfc3RyLCBfKSA9IGRvX3N5bmNfam9iKGpv Yiwgc3luY19qb2IsICZhdXRoX2lkLCBOb25lLCAKPj4+IHRvX3N0ZG91dCk/Owo+Pj4gwqDCoMKg wqDCoCBPayh1cGlkX3N0cikKPj4+IMKgIH0KPj4+IGRpZmYgLS1naXQgYS9zcmMvc2VydmVyL3N5 bmMucnMgYi9zcmMvc2VydmVyL3N5bmMucnMKPj4+IGluZGV4IDBiZDdhN2E4NS4uMmEyOTBhOGVl IDEwMDY0NAo+Pj4gLS0tIGEvc3JjL3NlcnZlci9zeW5jLnJzCj4+PiArKysgYi9zcmMvc2VydmVy L3N5bmMucnMKPj4+IEBAIC0xMSw2ICsxMSw3IEBAIHVzZSBhbnlob3c6OntiYWlsLCBmb3JtYXRf ZXJyLCBDb250ZXh0LCBFcnJvcn07Cj4+PiDCoCB1c2UgZnV0dXJlczo6e2Z1dHVyZTo6RnV0dXJl RXh0LCBzZWxlY3R9Owo+Pj4gwqAgdXNlIGh0dHA6OlN0YXR1c0NvZGU7Cj4+PiDCoCB1c2Ugc2Vy ZGVfanNvbjo6anNvbjsKPj4+ICt1c2UgdG9raW86OnRhc2s6OkpvaW5IYW5kbGU7Cj4+PiDCoCB1 c2UgdHJhY2luZzo6e2luZm8sIHdhcm59Owo+Pj4gwqAgdXNlIHByb3htb3hfaHVtYW5fYnl0ZTo6 SHVtYW5CeXRlOwo+Pj4gQEAgLTU5OCw3ICs1OTksNyBAQCBwdWIgZm4gZG9fc3luY19qb2IoCj4+ PiDCoMKgwqDCoMKgIGF1dGhfaWQ6ICZBdXRoaWQsCj4+PiDCoMKgwqDCoMKgIHNjaGVkdWxlOiBP cHRpb248U3RyaW5nPiwKPj4+IMKgwqDCoMKgwqAgdG9fc3Rkb3V0OiBib29sLAo+Pj4gLSkgLT4g UmVzdWx0PFN0cmluZywgRXJyb3I+IHsKPj4+ICspIC0+IFJlc3VsdDwoU3RyaW5nLCBKb2luSGFu ZGxlPCgpPiksIEVycm9yPiB7Cj4+PiDCoMKgwqDCoMKgIGxldCBqb2JfaWQgPSBmb3JtYXQhKAo+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgICJ7fTp7fTp7fTp7fTp7fSIsCj4+PiDCoMKgwqDCoMKgwqDC oMKgwqAgc3luY19qb2IucmVtb3RlLmFzX2RlcmVmKCkudW53cmFwX29yKCItIiksCj4+PiBAQCAt NjE0LDcgKzYxNSw3IEBAIHB1YiBmbiBkb19zeW5jX2pvYigKPj4+IMKgwqDCoMKgwqDCoMKgwqDC oCBiYWlsISgiY2FuJ3Qgc3luYyB0byBzYW1lIGRhdGFzdG9yZSIpOwo+Pj4gwqDCoMKgwqDCoCB9 Cj4+PiAtwqDCoMKgIGxldCB1cGlkX3N0ciA9IFdvcmtlclRhc2s6OnNwYXduKAo+Pj4gK8KgwqDC oCBsZXQgKHVwaWRfc3RyLCBoYW5kbGUpID0gV29ya2VyVGFzazo6c3Bhd25fd2l0aF9oYW5kbGUo Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgJndvcmtlcl90eXBlLAo+Pj4gwqDCoMKgwqDCoMKgwqDC oMKgIFNvbWUoam9iX2lkLmNsb25lKCkpLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGF1dGhfaWQu dG9fc3RyaW5nKCksCj4+PiBAQCAtNzI4LDUgKzcyOSw1IEBAIHB1YiBmbiBkb19zeW5jX2pvYigK Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gwqDCoMKgwqDCoCApPzsKPj4+IC3CoMKgwqAg T2sodXBpZF9zdHIpCj4+PiArwqDCoMKgIE9rKCh1cGlkX3N0ciwgaGFuZGxlKSkKPj4+IMKgIH0K Pj4KPiAKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K cGJzLWRldmVsIG1haWxpbmcgbGlzdApwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6 Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVsCg==