From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sender4-op-o12.zoho.com (sender4-op-o12.zoho.com [136.143.188.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C71E027A918; Tue, 12 Aug 2025 13:42:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.12 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755006139; cv=pass; b=fMyrw8/v7DilBA9JkKr270fp6zMSIrQ1wRRoibMAYo9IO0nhhs4EBzWuLq++6OEC8EogGo7MmakAy23iTIuB8Fk0tNaEI0LfJOT1q2wXz+zQiOclSOe1xbGLSpYN/qSBuHGompoy/+NLJ8/mtUMf5xDpkVm+7i7vnTxYmr4W7Hw= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755006139; c=relaxed/simple; bh=QjF/R797gFpuzzEGLU9EiX2DrA18XNDw+pBQOnujp24=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=PcKjcg0mx6LNytKUsNJpYEOuBG5OCuFeAywXn/wGPmAnlHrHujd1rmpwyVzh4fZiIu8DtSIV30DUBxdUE+GBbRgJbodZRxxiApkVIdnRt3muPYo2owXwg9+BuhE3hfhPEmYqMx90RT7jCWGivLdg9g2NsRSsXg/JA+LBtiF/3EE= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=icenowy.me; spf=pass smtp.mailfrom=icenowy.me; dkim=pass (2048-bit key) header.d=icenowy.me header.i=uwu@icenowy.me header.b=ppb9SmWj; arc=pass smtp.client-ip=136.143.188.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=icenowy.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icenowy.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icenowy.me header.i=uwu@icenowy.me header.b="ppb9SmWj" ARC-Seal: i=1; a=rsa-sha256; t=1755006027; cv=none; d=zohomail.com; s=zohoarc; b=FNSpalFJJy+OHyvtMPxYbbKjnw6EzlP+8V1AfKIJMu3CqRKP6Y8BGdnq5ZVwwMG5TTNE6K/kLZedCro/QArusx8JD/lDFvBPJrG7ppmBOL6Bf1aOIqJsc3fgMxhIOEuYZK4v+w5UD90m8YDTFuy0+iL8CPwJdCo9WG/pQ720rCE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1755006027; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=QjF/R797gFpuzzEGLU9EiX2DrA18XNDw+pBQOnujp24=; b=Y0QVtBfGtN9nkt1NQWPpx1b/FHWMN4pQiEwIwsZOGVknoPH9j5u30jgwVLwgfpW6MYDidFvS7cooicrL9BkuXV7G36xuC4bGp/MznuLXt5zDOLJeSyFtpGpvYhgAxEZEG/dy7nc74GhhgIaA/DuQ58QYy/BBiRFduA6XDCjY6G8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=icenowy.me; spf=pass smtp.mailfrom=uwu@icenowy.me; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1755006027; s=zmail2; d=icenowy.me; i=uwu@icenowy.me; h=Message-ID:Subject:Subject:From:From:To:To:Cc:Cc:Date:Date:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:MIME-Version:Message-Id:Reply-To; bh=QjF/R797gFpuzzEGLU9EiX2DrA18XNDw+pBQOnujp24=; b=ppb9SmWjvDobha07avDfvQk3LtrxcDy3NQCTBabXW4UF4Wn4Shixr5gXaXL4j9Kh +NzzJRBlI8s6M2XaQZ7ZWy+cn0ROtjx30T3G7wUj6MvYZg4k4dpDb0nCG30T6wJH3PH 6vS7GZXbKd3sBMuJWqnKSnGFZhmMfUhr0+4uHnGkVTfOxu/f7qPRK4WgflMm9mXk7tF x4b7AdYu5RNEzGL6J282izLT/4Qtv7y6BF0ICVXcHiCtj6MT++i/J9YXzVrDAxiE/l2 rR/eGMSaDcEWDgSjT6XyOw9Ir7j6IW1N0kseldrAyDfXN6FWQxAJpU0vTnNoQ6C47Lx 2QWyFJwxHg== Received: by mx.zohomail.com with SMTPS id 175500602442232.865322845984; Tue, 12 Aug 2025 06:40:24 -0700 (PDT) Message-ID: Subject: Re: [PATCH 000/114] clk: convert drivers from deprecated round_rate() to determine_rate() From: Icenowy Zheng To: bmasney@redhat.com, Michael Turquette , Stephen Boyd , Sudeep Holla , Cristian Marussi , Chen Wang , Inochi Amaoto , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Paul Cercueil , Keguang Zhang , Taichi Sugaya , Takao Orito , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jacky Huang , Shan-Chun Hung , Vladimir Zapolskiy , Piotr Wojtaszczyk , Paul Walmsley , Samuel Holland , Yixun Lan , Steen Hegelund , Daniel Machon , UNGLinuxDriver@microchip.com, Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue , Michal Simek , Maxime Ripard , Andreas =?ISO-8859-1?Q?F=E4rber?= , Manivannan Sadhasivam , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Eugeniy Paltsev , Ray Jui , Scott Branden , Broadcom internal kernel review list , Max Filippov , Matthias Brugger , AngeloGioacchino Del Regno , Daniel Palmer , Romain Perier , Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Bjorn Andersson , Geert Uytterhoeven , Heiko Stuebner , Andrea della Porta , Krzysztof Kozlowski , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Qin Jian , Viresh Kumar , Ulf Hansson , Luca Ceresoli , Alex Helms , Linus Walleij , Liviu Dudau , Lorenzo Pieralisi , Nobuhiro Iwamatsu Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, sophgo@lists.linux.dev, linux-mips@vger.kernel.org, imx@lists.linux.dev, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-stm32@st-md-mailman.stormreply.com, patches@opensource.cirrus.com, linux-actions@lists.infradead.org, asahi@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-samsung-soc@vger.kernel.org, soc@lists.linux.dev Date: Tue, 12 Aug 2025 21:39:45 +0800 In-Reply-To: <20250811-clk-for-stephen-round-rate-v1-0-b3bf97b038dc@redhat.com> References: <20250811-clk-for-stephen-round-rate-v1-0-b3bf97b038dc@redhat.com> Organization: Anthon Open-Source Community Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.44.4 Precedence: bulk X-Mailing-List: sophgo@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ZohoMailClient: External X-ZohoMail-Owner: +zmo_0_ 5ZyoIDIwMjUtMDgtMTHmmJ/mnJ/kuIDnmoQgMTE6MTcgLTA0MDDvvIxCcmlhbiBNYXNuZXkgdmlh IEI0IFJlbGF55YaZ6YGT77yaCj4gVGhlIHJvdW5kX3JhdGUoKSBjbGsgb3BzIGlzIGRlcHJlY2F0 ZWQgaW4gdGhlIGNsayBmcmFtZXdvcmsgaW4gZmF2b3IKPiBvZiB0aGUgZGV0ZXJtaW5lX3JhdGUo KSBjbGsgb3BzLCBzbyBsZXQncyBnbyBhaGVhZCBhbmQgY29udmVydCB0aGUKPiB2YXJpb3VzIGNs ayBkcml2ZXJzIHVzaW5nIHRoZSBDb2NjaW5lbGxlIHNlbWFudGljIHBhdGNoIHBvc3RlZCBiZWxv dy4KPiBJIGRpZCBhIGZldyBtaW5vciBjb3NtZXRpYyBjbGVhbnVwcyBvZiB0aGUgY29kZSBpbiBh IGZldyBjYXNlcy4KPiAKPiBUaGlzIHNlcmllcyBpcyBicm9rZW4gdXAgaW50byBzZXZlcmFsIGNh dGVnb3JpZXM6Cj4gCj4gLSBQYXRjaCAxIHRvIGNsay9hdDkxL3BlcmlwaGVyYWwgaXMgYSBidWcg Zml4IGZvciBhIHJldHVybiB2YWx1ZS4KPiAKPiAtIFBhdGNoIDIgdG8gY2xrL2F0OTEvcGVyaXBo ZXJhbCB3YXNuJ3Qgc3RyYWlnaHQgZm9yd2FyZCBsaWtlIHRoZQo+IG90aGVyCj4gwqAgZHJpdmVy cywgc28gSSdtIGV4cGxpY2l0bHkgY2FsbGluZyB0aGlzIG9uZSBvdXQgc2VwYXJhdGVseS4KPiAK PiAtIFBhdGNoIDMgYWRkcyBhIGRldGVybWluZV9yYXRlKCkgb3AgYW5kIGtlZXBzIHRoZSByb3Vu ZF9yYXRlKCkgaW4KPiBwbGFjZQo+IMKgIHNpbmNlIHRoaXMgaXMgbmVlZGVkIGJ5IGRyaXZlcnMv Y2xrL2FjdGlvbnMvb3dsLWNvbXBvc2l0ZS5jIGFuZAo+IGtlZXBzCj4gwqAgdGhlIHRyZWUgYmlz ZWN0YWJsZS4gVGhlIGRlcHJlY2F0ZWQgcm91bmRfcmF0ZSgpIG9wIGlzIGRyb3BwZWQgaW4KPiBw YXRjaAo+IMKgIDExMy4KPiAKPiAtIFBhdGNoZXMgNC03MCBhcmUgZm9yIGRyaXZlcnMgd2hlcmUg dGhlcmUgaXMgbm8gY2xrIHN1Ym1haW50YWluZXIKPiDCoCBsaXN0ZWQgaW4gdGhlIE1BSU5UQUlO RVJTIGZpbGUuIFBhdGNoIDE5IGluY2x1ZGVzIGEgbWlub3IgZml4IHNvCj4gdGhhdAo+IMKgIENv Y2NpbmVsbGUgY2FuIGJlIHJhbiBhZ2FpbnN0IGEgcGFydGljdWxhciBzb3VyY2UgZmlsZS4KPiAK PiAtIFBhdGNoZXMgNzEtMTEwIGFyZSBmb3IgZHJpdmVycyB3aGVyZSB0aGlzIGlzIGFuIGVudHJ5 IGluCj4gTUFJTlRBSU5FUlMKPiDCoCBmb3IgdGhlIGRyaXZlci4KPiAKPiAtIFBhdGNoZXMgMTEx LTExNCBhcmUgZm9yIGRyaXZlcnMgdGhhdCBpbXBsZW1lbnQgYm90aCByb3VuZF9yYXRlKCkKPiBh bmQKPiDCoCBkZXRlcm1pbmVfcmF0ZSgpLCBzbyB0aGUgcm91bmRfcmF0ZSgpIGltcGxlbWVudGF0 aW9uIGlzIGRyb3BwZWQuCgpJIHdhcyBkb2luZyBhIHBhdGNoIHRvIGFkZCBkaXZpZGVyIHNldHRp bmcgc3VwcG9ydCB0byBjbGstdGgxNTIwLWFwCmRyaXZlciBhbmQgc2VudCBwYXRjaCBub3csIHNo b3VsZCBJIHJlbW92ZSByb3VuZF9yYXRlIGZyb20gdGhlIG5leHQKcmV2aXNpb24gYW5kIGp1c3Qg a2VlcCBkZXRlcm1pbmVfcmF0ZT8gSXMgaXQgc2FmZSB0byBkbyB0aGlzIGV2ZW4gaWYKdGhpcyBw YXRjaHNldCBpcyBub3QgbWVyZ2VkPwoKSW4gYWRkaXRpb24sIHdpbGwgdGhlIGNsa19yb3VuZF9y YXRlKCkgQVBJIGV4cG9ydGVkIHRvIG90aGVyIHN1YnN5c3RlbXMKYmUgYWZmZWN0ZWQ/Cgo+IAo+ IE9uY2UgYWxsIG9mIG15IGNvbnZlcnNpb24gcGF0Y2hlcyBhY3Jvc3MgdGhlIHZhcmlvdXMgdHJl ZXMgaW4gdGhlCj4ga2VybmVsCj4gaGF2ZSBiZWVuIG1lcmdlZCwgSSB3aWxsIHBvc3QgYSBzbWFs bCBzZXJpZXMgdGhhdCByZW1vdmVzIHRoZQo+IHJvdW5kX3JhdGUoKSBvcCBmcm9tIHRoZSBjbGsg Y29yZSBhbmQgdGhlIGRvY3VtZW50YXRpb24uIEhlcmUncyB0aGUKPiBvdGhlciBwYXRjaCBzZXJp ZXMgdGhhdCBhcmUgY3VycmVudGx5IGluIGZsaWdodCB0aGF0IG5lZWQgdG8gYmUKPiBtZXJnZWQK PiBiZWZvcmUgd2UgY2FuIHJlbW92ZSByb3VuZF9yYXRlKCkgZnJvbSB0aGUgY29yZS4KPiAKPiAt IGFybTMyICgzKToKPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1jbGsvMjAyNTA3MTAt YXJtMzItY2xrLXJvdW5kLXJhdGUtdjEtMC1hOTE0NmI3N2FjYTlAcmVkaGF0LmNvbS9ULwo+IC0g Y2xrL3RlZ3JhICg2KToKPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1jbGsvMjAyNTA3 MTAtY2xrLXRlZ3JhLXJvdW5kLXJhdGUtdjEtMC1lNDhhYzNkZjQyNzlAcmVkaGF0LmNvbS9ULwo+ IC0gY2xrL3RpICg3KToKPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1jbGsvMjAyNTA4 MTEtYjQtY2xrLXRpLXJvdW5kLXJhdGUtdjEtMC1jYzA4NDA1OTRhNDlAcmVkaGF0LmNvbS9ULwo+ IC0gY2xvY2tzb3VyY2UgKDEpOgo+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LWNsay8y MDI1MDgxMC1jbG9ja3NvdXJjZS1yb3VuZC1yYXRlLXYxLTEtNDg2ZWY1M2U0NWViQHJlZGhhdC5j b20vVC8KPiAtIGRybSAoOSk6Cj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtY2xrLzIw MjUwODExLWRybS1jbGstcm91bmQtcmF0ZS12Mi0wLTRhOTFjY2YyMzljZkByZWRoYXQuY29tL1Qv Cj4gLSBkcm0vbXNtICg3KToKPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1jbGsvMjAy NTA4MTAtZHJtLW1zbS1waHktY2xrLXJvdW5kLXJhdGUtdjItMC0wZmQxZjc5NzljODNAcmVkaGF0 LmNvbS9ULwo+IC0gaTJjICgxKToKPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1jbGsv MjAyNTA4MTAtaTJjLXJvdW5kLXJhdGUtdjEtMS05NDg4YjU3MTUzZTdAcmVkaGF0LmNvbS9ULwo+ IC0gbWVkaWEgKDQpOgo+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LWNsay8yMDI1MDcx MC1tZWRpYS1jbGstcm91bmQtcmF0ZS12MS0wLWE5NjE3YjA2MTc0MUByZWRoYXQuY29tL1QvCj4g LSBtaXBzICgxKToKPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1jbGsvMjAyNTA4MTAt bWlwcy1yb3VuZC1yYXRlLXYxLTEtNTRlNDI0YzUyMGRkQHJlZGhhdC5jb20vVC8KPiAtIG5ldCAo MSk6Cj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtY2xrLzIwMjUwODEwLW5ldC1yb3Vu ZC1yYXRlLXYxLTEtZGJiMjM3YzlmZTVjQHJlZGhhdC5jb20vVC8KPiAtIHBlY2kgKDEpOgo+IGh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LWNsay8yMDI1MDgxMC1wZWNpLXJvdW5kLXJhdGUt djEtMS1lYzk2ZDIxNmE0NTVAcmVkaGF0LmNvbS9ULwo+IC0gcGh5ICg5KToKPiBodHRwczovL2xv cmUua2VybmVsLm9yZy9saW51eC1waHkvMjAyNTA4MTAtcGh5LWNsay1yb3VuZC1yYXRlLXYyLTAt OTE2MjQ3MGJiOWYyQHJlZGhhdC5jb20vVC8KPiAtIHBtZG9tYWluICgxKToKPiBodHRwczovL2xv cmUua2VybmVsLm9yZy9saW51eC1jbGsvMjAyNTA4MTAtcG1kb21haW4tcm91bmQtcmF0ZS12MS0x LTFhOTBkYmFjZGViNkByZWRoYXQuY29tL1QvCj4gLSB0dHkgKDEpOgo+IGh0dHBzOi8vbG9yZS5r ZXJuZWwub3JnL2xpbnV4LWNsay8yMDI1MDgxMC10dHktcm91bmQtcmF0ZS12MS0xLTg0OTAwOWYz YmRmZEByZWRoYXQuY29tL1QvCj4gCj4gQ29jY2luZWxsZSBzZW1hbnRpYyBwYXRjaDoKPiAKPiDC oMKgwqAgdmlydHVhbCBwYXRjaAo+IAo+IMKgwqDCoCAvLyBMb29rIHVwIHRoZSBjdXJyZW50IG5h bWUgb2YgdGhlIHJvdW5kX3JhdGUgZnVuY3Rpb24KPiDCoMKgwqAgQCBoYXNfcm91bmRfcmF0ZSBA Cj4gwqDCoMKgIGlkZW50aWZpZXIgcm91bmRfcmF0ZV9uYW1lID1+ICIuKl9yb3VuZF9yYXRlIjsK PiDCoMKgwqAgaWRlbnRpZmllciBod19wYXJhbSwgcmF0ZV9wYXJhbSwgcGFyZW50X3JhdGVfcGFy YW07Cj4gwqDCoMKgIEBACj4gCj4gwqDCoMKgIGxvbmcgcm91bmRfcmF0ZV9uYW1lKHN0cnVjdCBj bGtfaHcgKmh3X3BhcmFtLCB1bnNpZ25lZCBsb25nCj4gcmF0ZV9wYXJhbSwKPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgKnBhcmVudF9yYXRlX3BhcmFt KQo+IMKgwqDCoCB7Cj4gwqDCoMKgwqDCoMKgwqDCoC4uLgo+IMKgwqDCoCB9Cj4gCj4gwqDCoMKg IC8vIFJlbmFtZSB0aGUgcm91dGVfcmF0ZSBmdW5jdGlvbiBuYW1lIHRvIGRldGVybWluZV9yYXRl KCkKPiDCoMKgwqAgQCBzY3JpcHQ6cHl0aG9uIGdlbmVyYXRlX25hbWUgZGVwZW5kcyBvbiBoYXNf cm91bmRfcmF0ZSBACj4gwqDCoMKgIHJvdW5kX3JhdGVfbmFtZSA8PCBoYXNfcm91bmRfcmF0ZS5y b3VuZF9yYXRlX25hbWU7Cj4gwqDCoMKgIG5ld19uYW1lOwo+IMKgwqDCoCBAQAo+IAo+IMKgwqDC oCBjb2NjaW5lbGxlLm5ld19uYW1lID0gcm91bmRfcmF0ZV9uYW1lLnJlcGxhY2UoIl9yb3VuZF9y YXRlIiwKPiAiX2RldGVybWluZV9yYXRlIikKPiAKPiDCoMKgwqAgLy8gQ2hhbmdlIHJhdGUgdG8g cmVxLT5yYXRlOyBhbHNvIGNoYW5nZSBvY2N1cnJlbmNlcyBvZiAncmV0dXJuCj4gWFhYJy4KPiDC oMKgwqAgQCBjaGdfcmF0ZSBkZXBlbmRzIG9uIGdlbmVyYXRlX25hbWUgQAo+IMKgwqDCoCBpZGVu dGlmaWVyIGhhc19yb3VuZF9yYXRlLnJvdW5kX3JhdGVfbmFtZTsKPiDCoMKgwqAgaWRlbnRpZmll ciBoYXNfcm91bmRfcmF0ZS5od19wYXJhbTsKPiDCoMKgwqAgaWRlbnRpZmllciBoYXNfcm91bmRf cmF0ZS5yYXRlX3BhcmFtOwo+IMKgwqDCoCBpZGVudGlmaWVyIGhhc19yb3VuZF9yYXRlLnBhcmVu dF9yYXRlX3BhcmFtOwo+IMKgwqDCoCBpZGVudGlmaWVyIEVSUiA9fiAiRS4qIjsKPiDCoMKgwqAg ZXhwcmVzc2lvbiBFOwo+IMKgwqDCoCBAQAo+IAo+IMKgwqDCoCBsb25nIHJvdW5kX3JhdGVfbmFt ZShzdHJ1Y3QgY2xrX2h3ICpod19wYXJhbSwgdW5zaWduZWQgbG9uZwo+IHJhdGVfcGFyYW0sCj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBsb25nICpwYXJlbnRf cmF0ZV9wYXJhbSkKPiDCoMKgwqAgewo+IMKgwqDCoCA8Li4uCj4gwqDCoMKgICgKPiDCoMKgwqAg LXJldHVybiAtRVJSOwo+IMKgwqDCoCArcmV0dXJuIC1FUlI7Cj4gwqDCoMKgIHwKPiDCoMKgwqAg LSByZXR1cm4gcmF0ZV9wYXJhbTsKPiDCoMKgwqAgKyByZXR1cm4gMDsKPiDCoMKgwqAgfAo+IMKg wqDCoCAtIHJldHVybiBFOwo+IMKgwqDCoCArIHJlcS0+cmF0ZSA9IEU7Cj4gwqDCoMKgICsKPiDC oMKgwqAgKyByZXR1cm4gMDsKPiDCoMKgwqAgfAo+IMKgwqDCoCAtIHJhdGVfcGFyYW0KPiDCoMKg wqAgKyByZXEtPnJhdGUKPiDCoMKgwqAgKQo+IMKgwqDCoCAuLi4+Cj4gwqDCoMKgIH0KPiAKPiDC oMKgwqAgLy8gQ29jY2luZWxsZSBvbmx5IHRyYW5zZm9ybXMgdGhlIGZpcnN0IG9jY3VycmVuY2Ug b2YgdGhlIHJhdGUKPiBwYXJhbWV0ZXIKPiDCoMKgwqAgLy8gUnVuIGEgc2Vjb25kIHRpbWUuIEZJ WE1FOiBJcyB0aGVyZSBhIGJldHRlciB3YXkgdG8gZG8gdGhpcz8KPiDCoMKgwqAgQCBjaGdfcmF0 ZTIgZGVwZW5kcyBvbiBnZW5lcmF0ZV9uYW1lIEAKPiDCoMKgwqAgaWRlbnRpZmllciBoYXNfcm91 bmRfcmF0ZS5yb3VuZF9yYXRlX25hbWU7Cj4gwqDCoMKgIGlkZW50aWZpZXIgaGFzX3JvdW5kX3Jh dGUuaHdfcGFyYW07Cj4gwqDCoMKgIGlkZW50aWZpZXIgaGFzX3JvdW5kX3JhdGUucmF0ZV9wYXJh bTsKPiDCoMKgwqAgaWRlbnRpZmllciBoYXNfcm91bmRfcmF0ZS5wYXJlbnRfcmF0ZV9wYXJhbTsK PiDCoMKgwqAgQEAKPiAKPiDCoMKgwqAgbG9uZyByb3VuZF9yYXRlX25hbWUoc3RydWN0IGNsa19o dyAqaHdfcGFyYW0sIHVuc2lnbmVkIGxvbmcKPiByYXRlX3BhcmFtLAo+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgbG9uZyAqcGFyZW50X3JhdGVfcGFyYW0pCj4g wqDCoMKgIHsKPiDCoMKgwqAgPC4uLgo+IMKgwqDCoCAtIHJhdGVfcGFyYW0KPiDCoMKgwqAgKyBy ZXEtPnJhdGUKPiDCoMKgwqAgLi4uPgo+IMKgwqDCoCB9Cj4gCj4gwqDCoMKgIC8vIENoYW5nZSBw YXJlbnRfcmF0ZSB0byByZXEtPmJlc3RfcGFyZW50X3JhdGUKPiDCoMKgwqAgQCBjaGdfcGFyZW50 X3JhdGUgZGVwZW5kcyBvbiBnZW5lcmF0ZV9uYW1lIEAKPiDCoMKgwqAgaWRlbnRpZmllciBoYXNf cm91bmRfcmF0ZS5yb3VuZF9yYXRlX25hbWU7Cj4gwqDCoMKgIGlkZW50aWZpZXIgaGFzX3JvdW5k X3JhdGUuaHdfcGFyYW07Cj4gwqDCoMKgIGlkZW50aWZpZXIgaGFzX3JvdW5kX3JhdGUucmF0ZV9w YXJhbTsKPiDCoMKgwqAgaWRlbnRpZmllciBoYXNfcm91bmRfcmF0ZS5wYXJlbnRfcmF0ZV9wYXJh bTsKPiDCoMKgwqAgQEAKPiAKPiDCoMKgwqAgbG9uZyByb3VuZF9yYXRlX25hbWUoc3RydWN0IGNs a19odyAqaHdfcGFyYW0sIHVuc2lnbmVkIGxvbmcKPiByYXRlX3BhcmFtLAo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgbG9uZyAqcGFyZW50X3JhdGVfcGFyYW0p Cj4gwqDCoMKgIHsKPiDCoMKgwqAgPC4uLgo+IMKgwqDCoCAoCj4gwqDCoMKgIC0gKnBhcmVudF9y YXRlX3BhcmFtCj4gwqDCoMKgICsgcmVxLT5iZXN0X3BhcmVudF9yYXRlCj4gwqDCoMKgIHwKPiDC oMKgwqAgLSBwYXJlbnRfcmF0ZV9wYXJhbQo+IMKgwqDCoCArICZyZXEtPmJlc3RfcGFyZW50X3Jh dGUKPiDCoMKgwqAgKQo+IMKgwqDCoCAuLi4+Cj4gwqDCoMKgIH0KPiAKPiDCoMKgwqAgLy8gQ29u dmVydCB0aGUgZnVuY3Rpb24gZGVmaW5pdGlvbiBmcm9tIHJvdW5kX3JhdGUoKSB0bwo+IGRldGVy bWluZV9yYXRlKCkKPiDCoMKgwqAgQCBmdW5jX2RlZmluaXRpb24gZGVwZW5kcyBvbiBjaGdfcmF0 ZSBACj4gwqDCoMKgIGlkZW50aWZpZXIgaGFzX3JvdW5kX3JhdGUucm91bmRfcmF0ZV9uYW1lOwo+ IMKgwqDCoCBpZGVudGlmaWVyIGhhc19yb3VuZF9yYXRlLmh3X3BhcmFtOwo+IMKgwqDCoCBpZGVu dGlmaWVyIGhhc19yb3VuZF9yYXRlLnJhdGVfcGFyYW07Cj4gwqDCoMKgIGlkZW50aWZpZXIgaGFz X3JvdW5kX3JhdGUucGFyZW50X3JhdGVfcGFyYW07Cj4gwqDCoMKgIGlkZW50aWZpZXIgZ2VuZXJh dGVfbmFtZS5uZXdfbmFtZTsKPiDCoMKgwqAgQEAKPiAKPiDCoMKgwqAgLSBsb25nIHJvdW5kX3Jh dGVfbmFtZShzdHJ1Y3QgY2xrX2h3ICpod19wYXJhbSwgdW5zaWduZWQgbG9uZwo+IHJhdGVfcGFy YW0sCj4gwqDCoMKgIC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcg KnBhcmVudF9yYXRlX3BhcmFtKQo+IMKgwqDCoCArIGludCBuZXdfbmFtZShzdHJ1Y3QgY2xrX2h3 ICpodywgc3RydWN0IGNsa19yYXRlX3JlcXVlc3QgKnJlcSkKPiDCoMKgwqAgewo+IMKgwqDCoMKg wqDCoMKgIC4uLgo+IMKgwqDCoCB9Cj4gCj4gwqDCoMKgIC8vIFVwZGF0ZSB0aGUgb3BzIGZyb20g cm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqAgQCBvcHMgZGVwZW5kcyBv biBmdW5jX2RlZmluaXRpb24gQAo+IMKgwqDCoCBpZGVudGlmaWVyIGhhc19yb3VuZF9yYXRlLnJv dW5kX3JhdGVfbmFtZTsKPiDCoMKgwqAgaWRlbnRpZmllciBnZW5lcmF0ZV9uYW1lLm5ld19uYW1l Owo+IMKgwqDCoCBAQAo+IAo+IMKgwqDCoCB7Cj4gwqDCoMKgwqDCoMKgwqAgLi4uLAo+IMKgwqDC oCAtwqDCoCAucm91bmRfcmF0ZSA9IHJvdW5kX3JhdGVfbmFtZSwKPiDCoMKgwqAgK8KgwqAgLmRl dGVybWluZV9yYXRlID0gbmV3X25hbWUsCj4gwqDCoMKgwqDCoMKgwqAgLi4uLAo+IMKgwqDCoCB9 Cj4gCj4gTm90ZSB0aGF0IEkgdXNlZCBjb2NjaW5lbGxlIDEuMiBpbnN0ZWFkIG9mIDEuMyBzaW5j ZSB0aGUgbmV3ZXIKPiB2ZXJzaW9uCj4gYWRkcyB1bm5lY2Vzc2FyeSBicmFjZXMgYXMgZGVzY3Jp YmVkIGluIHRoaXMgcG9zdC4KPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9jb2NjaS82NzY0MjQ3 Ny01ZjNlLTRiMmEtOTE0ZC01NzlhNTRmNDhjYmRAaW50ZWwuY29tLwo+IAo+IFNpZ25lZC1vZmYt Ynk6IEJyaWFuIE1hc25leSA8Ym1hc25leUByZWRoYXQuY29tPgo+IC0tLQo+IEJyaWFuIE1hc25l eSAoMTE0KToKPiDCoMKgwqDCoMKgIGNsazogYXQ5MTogcGVyaXBoZXJhbDogZml4IHJldHVybiB2 YWx1ZQo+IMKgwqDCoMKgwqAgY2xrOiBhdDkxOiBwZXJpcGhlcmFsOiBjb252ZXJ0IGZyb20gcm91 bmRfcmF0ZSgpIHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBmaXhlZC1m YWN0b3I6IGFkZCBkZXRlcm1pbmVfcmF0ZSgpIG9wcwo+IMKgwqDCoMKgwqAgY2xrOiBhdDkxOiBh dWRpby1wbGw6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgp Cj4gwqDCoMKgwqDCoCBjbGs6IGF0OTE6IGgzMm14OiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgp IHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogYXQ5MTogcGxsOiBjb252ZXJ0 IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazog YXQ5MTogcGxsZGl2OiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0ZXJtaW5lX3Jh dGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBhdDkxOiBzYW05eDYwLXBsbDogY29udmVydCBmcm9tIHJv dW5kX3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogYXQ5MTog dXNiOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKg wqDCoMKgIGNsazogYmFpa2FsLXQxOiBjY3UtZGl2OiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgp IHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBiYWlrYWwtdDE6IGNjdS1w bGw6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDC oMKgwqDCoCBjbGs6IGNkY2U5MjU6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8gZGV0ZXJt aW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBjczIwMDAtY3A6IGNvbnZlcnQgZnJvbSByb3Vu ZF9yYXRlKCkgdG8gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBlcDkzeHg6IGNv bnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAg Y2xrOiBmcmFjdGlvbmFsLWRpdmlkZXI6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBk ZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IGdlbWluaTogY29udmVydCBmcm9tIHJv dW5kX3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IGhpZ2hiYW5r OiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDC oMKgIGNsazogaGlzaWxpY29uOiBjbGtkaXZpZGVyLWhpNjIyMDogY29udmVydCBmcm9tIHJvdW5k X3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogaGlzaWxpY29u OiBoaTM2NjAtc3R1YjogbW92ZSBjb21tYSBmcm9tIGRlY2xhcmF0aW9uIG9mCj4gREVGSU5FX0NM S19TVFVCKCkKPiDCoMKgwqDCoMKgIGNsazogaGlzaWxpY29uOiBoaTM2NjAtc3R1YjogY29udmVy dCBmcm9tIHJvdW5kX3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNs azogaGlzaWxpY29uOiBoaTYyMjAtc3R1YjogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0bwo+ IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogaW5nZW5pYzogY2d1OiBjb252ZXJ0 IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xr OiBpbmdlbmljOiBqejQ3ODAtY2d1OiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0 ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBpbmdlbmljOiB4MTAwMC1jZ3U6IGNvbnZl cnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBj bGs6IGxtazA0ODMyOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRl KCkKPiDCoMKgwqDCoMKgIGNsazogbG9vbmdzb24xOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgp IHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogbWF4OTQ4NTogY29udmVydCBm cm9tIHJvdW5kX3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IG1p bGJlYXV0OiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRlKCkKPiDC oMKgwqDCoMKgIGNsazogbW1wOiBhdWRpbzogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0byBk ZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IG1tcDogZnJhYzogY29udmVydCBmcm9t IHJvdW5kX3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IG11bHRp cGxpZXI6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8gZGV0ZXJtaW5lX3JhdGUoKQo+IMKg wqDCoMKgwqAgY2xrOiBteHM6IGRpdjogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0byBkZXRl cm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IG14czogZnJhYzogY29udmVydCBmcm9tIHJv dW5kX3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IG14czogcmVm OiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDC oMKgIGNsazogbnV2b3RvbjogbWEzNWQxLWRpdmlkZXI6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRl KCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IG51dm90b246IG1hMzVk MS1wbGw6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4g wqDCoMKgwqDCoCBjbGs6IG54cDogbHBjMTh4eC1jZ3U6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRl KCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IG54cDogbHBjMzJ4eDog Y29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDC oMKgIGNsazogcGlzdGFjaGlvOiBwbGw6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBk ZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHNjcGk6IGNvbnZlcnQgZnJvbSByb3Vu ZF9yYXRlKCkgdG8gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBzaTUxNDogY29u dmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBj bGs6IHNpNTIxeHg6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8gZGV0ZXJtaW5lX3JhdGUo KQo+IMKgwqDCoMKgwqAgY2xrOiBzaTUzNDE6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8g ZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBzaTU0NDogY29udmVydCBmcm9tIHJv dW5kX3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHNpNTcwOiBj b252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKg IGNsazogc2lmaXZlOiBzaWZpdmUtcHJjaTogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0bwo+ IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogc29waGdvOiBjdjE4eHgtaXA6IGNv bnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDC oCBjbGs6IHNvcGhnbzogc2cyMDQyLWNsa2dlbjogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0 bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogc3BhY2VtaXQ6IGNjdV9kZG46 IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKg wqDCoCBjbGs6IHNwYWNlbWl0OiBjY3VfbWl4OiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRv Cj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBzcGFjZW1pdDogY2N1X3BsbDog Y29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDC oMKgIGNsazogc3Bhcng1OiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9y YXRlKCkKPiDCoMKgwqDCoMKgIGNsazogc3ByZDogZGl2OiBjb252ZXJ0IGZyb20gcm91bmRfcmF0 ZSgpIHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogc3ByZDogcGxsOiBjb252 ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNs azogc3Q6IGNsa2dlbi1mc3luOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0ZXJt aW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBzdDogY2xrZ2VuLXBsbDogY29udmVydCBmcm9t IHJvdW5kX3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogc3Rt MzJmNDogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDC oMKgwqDCoCBjbGs6IHN0bTMyOiBzdG0zMi1jb3JlOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgp IHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBzdG0zMjogc3RtMzJtcDE6 IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKg wqDCoCBjbGs6IHRwczY4NDcwOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVybWlu ZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogdmVyc2FjbG9jazM6IGNvbnZlcnQgZnJvbSByb3Vu ZF9yYXRlKCkgdG8gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiB2dDg1MDA6IGNv bnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAg Y2xrOiB3bTgzMXg6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8gZGV0ZXJtaW5lX3JhdGUo KQo+IMKgwqDCoMKgwqAgY2xrOiB4ODY6IGNndTogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0 byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHhnZW5lOiBjb252ZXJ0IGZyb20g cm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogeGlsaW54 OiB4bG54LWNsb2NrLXdpemFyZDogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0bwo+IGRldGVy bWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogeGlsaW54OiB4bG54X3ZjdTogY29udmVydCBm cm9tIHJvdW5kX3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazog enlucW1wOiBkaXZpZGVyOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0ZXJtaW5l X3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiB6eW5xbXA6IHBsbDogY29udmVydCBmcm9tIHJvdW5k X3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHp5bnE6IHBsbDog Y29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDC oCBjbGs6IGFjdGlvbnM6IG93bC1jb21wb3NpdGU6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkg dG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IGFjdGlvbnM6IG93bC1kaXZp ZGVyOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKg wqDCoMKgwqAgY2xrOiBhY3Rpb25zOiBvd2wtZmFjdG9yOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0 ZSgpIHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBhY3Rpb25zOiBvd2wt cGxsOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKg wqDCoMKgwqAgY2xrOiBhcHBsZS1uY286IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8gZGV0 ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBheHMxMHg6IGkyc19wbGxfY2xvY2s6IGNv bnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDC oCBjbGs6IGF4czEweDogcGxsX2Nsb2NrOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4g ZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBiY206IGlwcm9jLWFzaXU6IGNvbnZl cnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBj bGs6IGJtMTg4MDogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgp Cj4gwqDCoMKgwqDCoCBjbGs6IGNkY2U3MDY6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8g ZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBoc2RrLXBsbDogY29udmVydCBmcm9t IHJvdW5kX3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IG1lZGlh dGVrOiBwbGw6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgp Cj4gwqDCoMKgwqDCoCBjbGs6IG1pY3JvY2hpcDogY29yZTogY29udmVydCBmcm9tIHJvdW5kX3Jh dGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogbXN0YXI6IG1zYzMx My1jcHVwbGw6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgp Cj4gwqDCoMKgwqDCoCBjbGs6IG12ZWJ1OiBhcC1jcHUtY2xrOiBjb252ZXJ0IGZyb20gcm91bmRf cmF0ZSgpIHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBtdmVidTogYXJt YWRhLTM3eHgtcGVyaXBoOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0ZXJtaW5l X3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBtdmVidTogY29yZWRpdjogY29udmVydCBmcm9tIHJv dW5kX3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogbXZlYnU6 IGNwdTogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0byBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDC oMKgwqDCoCBjbGs6IG12ZWJ1OiBkb3ZlLWRpdmlkZXI6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRl KCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHFjb206IGFscGhhLXBs bDogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKg wqDCoMKgIGNsazogcWNvbTogcmVnbWFwLWRpdmlkZXI6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRl KCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHJlbmVzYXM6IHJ6ZzJs LWNwZzogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDC oMKgwqDCoMKgIGNsazogcmVuZXNhczogcnp2MmgtY3BnOiByZW1vdmUgcm91bmRfcmF0ZSgpIGlu IGZhdm9yIG9mCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiByb2NrY2hpcDog ZGRyOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKg wqDCoMKgwqAgY2xrOiByb2NrY2hpcDogaGFsZi1kaXZpZGVyOiBjb252ZXJ0IGZyb20gcm91bmRf cmF0ZSgpIHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiByb2NrY2hpcDog cGxsOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKg wqDCoMKgwqAgY2xrOiBycDE6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8gZGV0ZXJtaW5l X3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBzYW1zdW5nOiBjcHU6IGNvbnZlcnQgZnJvbSByb3Vu ZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHNhbXN1bmc6 IHBsbDogY29udmVydCBmcm9tIHJvdW5kX3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDC oMKgwqDCoMKgIGNsazogc3A3MDIxOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVy bWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazogc3BlYXI6IGF1eC1zeW50aDogY29udmVydCBm cm9tIHJvdW5kX3JhdGUoKSB0bwo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDCoMKgIGNsazog c3BlYXI6IGZyYWMtc3ludGg6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1p bmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHNwZWFyOiBncHQtc3ludGg6IGNvbnZlcnQgZnJv bSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHNw ZWFyOiB2Y28tcGxsOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0ZXJtaW5lX3Jh dGUoKQo+IMKgwqDCoMKgwqAgY2xrOiB1eDUwMDogcHJjbXU6IGNvbnZlcnQgZnJvbSByb3VuZF9y YXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHZlcnNhY2xvY2s1 OiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDC oMKgIGNsazogdmVyc2FjbG9jazc6IGNvbnZlcnQgZnJvbSByb3VuZF9yYXRlKCkgdG8gZGV0ZXJt aW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiB2ZXJzYXRpbGU6IGljc3Q6IGNvbnZlcnQgZnJv bSByb3VuZF9yYXRlKCkgdG8KPiBkZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHZl cnNhdGlsZTogdmV4cHJlc3Mtb3NjOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0 ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiB2aXNjb250aTogcGxsOiBjb252ZXJ0IGZy b20gcm91bmRfcmF0ZSgpIHRvCj4gZGV0ZXJtaW5lX3JhdGUoKQo+IMKgwqDCoMKgwqAgY2xrOiBk aXZpZGVyOiByZW1vdmUgcm91bmRfcmF0ZSgpIGluIGZhdm9yIG9mIGRldGVybWluZV9yYXRlKCkK PiDCoMKgwqDCoMKgIGNsazogc2NtaTogcmVtb3ZlIHJvdW5kX3JhdGUoKSBpbiBmYXZvciBvZiBk ZXRlcm1pbmVfcmF0ZSgpCj4gwqDCoMKgwqDCoCBjbGs6IHNvcGhnbzogc2cyMDQyLXBsbDogcmVt b3ZlIHJvdW5kX3JhdGUoKSBpbiBmYXZvciBvZgo+IGRldGVybWluZV9yYXRlKCkKPiDCoMKgwqDC oMKgIGNsazogZml4ZWQtZmFjdG9yOiBkcm9wIHJvdW5kX3JhdGUoKSBjbGsgb3BzCj4gCj4gwqBk cml2ZXJzL2Nsay9hY3Rpb25zL293bC1jb21wb3NpdGUuY8KgwqDCoMKgwqDCoMKgIHzCoMKgIDgg Ky0KPiDCoGRyaXZlcnMvY2xrL2FjdGlvbnMvb3dsLWRpdmlkZXIuY8KgwqDCoMKgwqDCoMKgwqDC oCB8wqAgMTMgKy0tCj4gwqBkcml2ZXJzL2Nsay9hY3Rpb25zL293bC1mYWN0b3IuY8KgwqDCoMKg wqDCoMKgwqDCoMKgIHzCoCAxMiArLS0KPiDCoGRyaXZlcnMvY2xrL2FjdGlvbnMvb3dsLXBsbC5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDI1ICsrKystLQo+IMKgZHJpdmVycy9jbGsv YXQ5MS9jbGstYXVkaW8tcGxsLmPCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNDIgKysrKystLS0t Cj4gwqBkcml2ZXJzL2Nsay9hdDkxL2Nsay1oMzJteC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8wqAgMzMgKysrKy0tLQo+IMKgZHJpdmVycy9jbGsvYXQ5MS9jbGstcGVyaXBoZXJhbC5j wqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA0OCArKysrKystLS0tCj4gwqBkcml2ZXJzL2Nsay9hdDkx L2Nsay1wbGwuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxMiArLS0KPiDC oGRyaXZlcnMvY2xrL2F0OTEvY2xrLXBsbGRpdi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fMKgIDM0ICsrKysrLS0tCj4gwqBkcml2ZXJzL2Nsay9hdDkxL2Nsay1zYW05eDYwLXBsbC5jwqDC oMKgwqDCoMKgwqDCoCB8wqAgMjkgKysrLS0tCj4gwqBkcml2ZXJzL2Nsay9hdDkxL2Nsay11c2Iu Y8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyMCArKystLQo+IMKgZHJpdmVy cy9jbGsvYXhzMTB4L2kyc19wbGxfY2xvY2suY8KgwqDCoMKgwqDCoMKgwqAgfMKgIDE0ICstLQo+ IMKgZHJpdmVycy9jbGsvYXhzMTB4L3BsbF9jbG9jay5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHzCoCAxMiArLS0KPiDCoGRyaXZlcnMvY2xrL2JhaWthbC10MS9jY3UtZGl2LmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHzCoCAyNyArKystLS0KPiDCoGRyaXZlcnMvY2xrL2JhaWthbC10MS9jY3Ut cGxsLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxNCArLS0KPiDCoGRyaXZlcnMvY2xrL2Jj bS9jbGstaXByb2MtYXNpdS5jwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDI1ICsrKy0tLQo+IMKg ZHJpdmVycy9jbGsvY2xrLWFwcGxlLW5jby5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHzCoCAxNCArLS0KPiDCoGRyaXZlcnMvY2xrL2Nsay1ibTE4ODAuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMjEgKysrLS0KPiDCoGRyaXZlcnMvY2xrL2Nsay1jZGNl NzA2LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxNiArKy0tCj4gwqBk cml2ZXJzL2Nsay9jbGstY2RjZTkyNS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8wqAgNTAgKysrKysrLS0tLS0KPiDCoGRyaXZlcnMvY2xrL2Nsay1jczIwMDAtY3AuY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTQgKy0tCj4gwqBkcml2ZXJzL2Nsay9jbGst ZGl2aWRlci5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMjMgLS0tLS0K PiDCoGRyaXZlcnMvY2xrL2Nsay1lcDkzeHguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8wqAgMTggKystLQo+IMKgZHJpdmVycy9jbGsvY2xrLWZpeGVkLWZhY3Rvci5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxNiArKy0tCj4gwqBkcml2ZXJzL2Nsay9jbGstZnJh Y3Rpb25hbC1kaXZpZGVyLmPCoMKgwqDCoMKgwqAgfMKgIDI1ICsrKystLQo+IMKgZHJpdmVycy9j bGsvY2xrLWdlbWluaS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAx NSArKy0tCj4gwqBkcml2ZXJzL2Nsay9jbGstaGlnaGJhbmsuY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHzCoCAyNiArKystLS0KPiDCoGRyaXZlcnMvY2xrL2Nsay1oc2RrLXBsbC5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDEyICstLQo+IMKgZHJpdmVycy9j bGsvY2xrLWxtazA0ODMyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNTMg KysrKysrLS0tLS0KPiDCoGRyaXZlcnMvY2xrL2Nsay1sb29uZ3NvbjEuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8wqAgMTIgKy0tCj4gwqBkcml2ZXJzL2Nsay9jbGstbWF4OTQ4NS5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMjcgKysrLS0tCj4gwqBkcml2 ZXJzL2Nsay9jbGstbWlsYmVhdXQuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC oCAyMiArKystLQo+IMKgZHJpdmVycy9jbGsvY2xrLW11bHRpcGxpZXIuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfMKgIDEyICstLQo+IMKgZHJpdmVycy9jbGsvY2xrLXJwMS5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA0NSArKysrKystLS0tCj4g wqBkcml2ZXJzL2Nsay9jbGstc2NtaS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8wqAgMzAgLS0tLS0tLQo+IMKgZHJpdmVycy9jbGsvY2xrLXNjcGkuY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDE4ICsrLS0KPiDCoGRyaXZlcnMv Y2xrL2Nsay1zaTUxNC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKg IDI0ICsrKy0tCj4gwqBkcml2ZXJzL2Nsay9jbGstc2k1MjF4eC5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8wqAgMTQgKy0tCj4gwqBkcml2ZXJzL2Nsay9jbGstc2k1MzQxLmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIyICsrKy0tCj4gwqBkcml2 ZXJzL2Nsay9jbGstc2k1NDQuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHzCoCAxMCArLS0KPiDCoGRyaXZlcnMvY2xrL2Nsay1zaTU3MC5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDI0ICsrKy0tCj4gwqBkcml2ZXJzL2Nsay9jbGstc3A3 MDIxLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIyICsrLS0tCj4g wqBkcml2ZXJzL2Nsay9jbGstc3Bhcng1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfMKgIDEwICsrLQo+IMKgZHJpdmVycy9jbGsvY2xrLXN0bTMyZjQuY8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDI2ICsrKy0tLQo+IMKgZHJpdmVycy9jbGsvY2xr LXRwczY4NDcwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTIgKy0tCj4g wqBkcml2ZXJzL2Nsay9jbGstdmVyc2FjbG9jazMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHzCoCA3MCArKysrKysrKystLS0tLS0KPiDCoGRyaXZlcnMvY2xrL2Nsay12ZXJzYWNsb2NrNS5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDcxICsrKysrKysrLS0tLS0tLQo+IMKgZHJp dmVycy9jbGsvY2xrLXZlcnNhY2xvY2s3LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAg MzAgKysrKy0tLQo+IMKgZHJpdmVycy9jbGsvY2xrLXZ0ODUwMC5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA1OSArKysrKysrKy0tLS0tCj4gwqBkcml2ZXJzL2Nsay9j bGstd204MzF4LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDE0ICst LQo+IMKgZHJpdmVycy9jbGsvY2xrLXhnZW5lLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8wqAgNDEgKysrKystLS0tCj4gwqBkcml2ZXJzL2Nsay9oaXNpbGljb24vY2xr LWhpMzY2MC1zdHViLmPCoMKgwqAgfMKgIDE4ICsrLS0KPiDCoGRyaXZlcnMvY2xrL2hpc2lsaWNv bi9jbGstaGk2MjIwLXN0dWIuY8KgwqDCoCB8wqAgMTIgKy0tCj4gwqBkcml2ZXJzL2Nsay9oaXNp bGljb24vY2xrZGl2aWRlci1oaTYyMjAuY8KgIHzCoCAxMiArLS0KPiDCoGRyaXZlcnMvY2xrL2lu Z2VuaWMvY2d1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxMiArLS0K PiDCoGRyaXZlcnMvY2xrL2luZ2VuaWMvano0NzgwLWNndS5jwqDCoMKgwqDCoMKgwqDCoMKgwqAg fMKgIDI0ICsrLS0tCj4gwqBkcml2ZXJzL2Nsay9pbmdlbmljL3gxMDAwLWNndS5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8wqAgMTkgKystLQo+IMKgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLXBs bC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxMyArLS0KPiDCoGRyaXZlcnMvY2xrL21l ZGlhdGVrL2Nsay1wbGwuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAzICstCj4gwqBk cml2ZXJzL2Nsay9tZWRpYXRlay9jbGstcGxsZmguY8KgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKg IDIgKy0KPiDCoGRyaXZlcnMvY2xrL21pY3JvY2hpcC9jbGstY29yZS5jwqDCoMKgwqDCoMKgwqDC oMKgwqAgfMKgIDQ0ICsrKysrKy0tLS0KPiDCoGRyaXZlcnMvY2xrL21tcC9jbGstYXVkaW8uY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTggKystLQo+IMKgZHJpdmVycy9jbGsv bW1wL2Nsay1mcmFjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMjcgKysr LS0tCj4gwqBkcml2ZXJzL2Nsay9tc3Rhci9jbGstbXNjMzEzLWNwdXBsbC5jwqDCoMKgwqDCoCB8 wqAgMTggKystLQo+IMKgZHJpdmVycy9jbGsvbXZlYnUvYXAtY3B1LWNsay5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHzCoCAxMiArLS0KPiDCoGRyaXZlcnMvY2xrL212ZWJ1L2FybWFkYS0zN3h4 LXBlcmlwaC5jwqDCoMKgwqAgfMKgIDE1ICsrLS0KPiDCoGRyaXZlcnMvY2xrL212ZWJ1L2Nsay1j b3JlZGl2LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxOCArKy0tCj4gwqBkcml2ZXJzL2Ns ay9tdmVidS9jbGstY3B1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDEyICst LQo+IMKgZHJpdmVycy9jbGsvbXZlYnUvZG92ZS1kaXZpZGVyLmPCoMKgwqDCoMKgwqDCoMKgwqDC oCB8wqAgMTYgKystLQo+IMKgZHJpdmVycy9jbGsvbXhzL2Nsay1kaXYuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgOCArLQo+IMKgZHJpdmVycy9jbGsvbXhzL2Nsay1m cmFjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTYgKystLQo+IMKgZHJp dmVycy9jbGsvbXhzL2Nsay1yZWYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fMKgIDE2ICsrLS0KPiDCoGRyaXZlcnMvY2xrL251dm90b24vY2xrLW1hMzVkMS1kaXZpZGVyLmPC oMKgIHzCoCAxMiArKy0KPiDCoGRyaXZlcnMvY2xrL251dm90b24vY2xrLW1hMzVkMS1wbGwuY8Kg wqDCoMKgwqDCoCB8wqAgMjggKysrLS0tCj4gwqBkcml2ZXJzL2Nsay9ueHAvY2xrLWxwYzE4eHgt Y2d1LmPCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDE2ICsrLS0KPiDCoGRyaXZlcnMvY2xrL254cC9j bGstbHBjMzJ4eC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDU5ICsrKysrKystLS0t LS0KPiDCoGRyaXZlcnMvY2xrL3Bpc3RhY2hpby9jbGstcGxsLmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHzCoCAyMCArKystLQo+IMKgZHJpdmVycy9jbGsvcWNvbS9jbGstYWxwaGEtcGxsLmPCoMKg wqDCoMKgwqDCoMKgwqDCoCB8IDEzNiArKysrKysrKysrKysrKysrLS0tCj4gLS0tLS0tLS0tLQo+ IMKgZHJpdmVycy9jbGsvcWNvbS9jbGstcmVnbWFwLWRpdmlkZXIuY8KgwqDCoMKgwqAgfMKgIDI3 ICsrKy0tLQo+IMKgZHJpdmVycy9jbGsvcmVuZXNhcy9yemcybC1jcGcuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfMKgwqAgOSArLQo+IMKgZHJpdmVycy9jbGsvcmVuZXNhcy9yenYyaC1jcGcuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDEwIC0tLQo+IMKgZHJpdmVycy9jbGsvcm9ja2NoaXAv Y2xrLWRkci5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxMyArLS0KPiDCoGRyaXZlcnMv Y2xrL3JvY2tjaGlwL2Nsay1oYWxmLWRpdmlkZXIuY8KgwqDCoCB8wqAgMTIgKy0tCj4gwqBkcml2 ZXJzL2Nsay9yb2NrY2hpcC9jbGstcGxsLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIz ICsrKy0tCj4gwqBkcml2ZXJzL2Nsay9zYW1zdW5nL2Nsay1jcHUuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHzCoCAxMiArLS0KPiDCoGRyaXZlcnMvY2xrL3NhbXN1bmcvY2xrLXBsbC5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDMzICsrKystLS0KPiDCoGRyaXZlcnMvY2xrL3Np Zml2ZS9mdTU0MC1wcmNpLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDIgKy0KPiDCoGRy aXZlcnMvY2xrL3NpZml2ZS9mdTc0MC1wcmNpLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKg IDIgKy0KPiDCoGRyaXZlcnMvY2xrL3NpZml2ZS9zaWZpdmUtcHJjaS5jwqDCoMKgwqDCoMKgwqDC oMKgwqAgfMKgIDExICstLQo+IMKgZHJpdmVycy9jbGsvc2lmaXZlL3NpZml2ZS1wcmNpLmjCoMKg wqDCoMKgwqDCoMKgwqDCoCB8wqDCoCA0ICstCj4gwqBkcml2ZXJzL2Nsay9zb3BoZ28vY2xrLWN2 MTh4eC1pcC5jwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTAgKystCj4gwqBkcml2ZXJzL2Nsay9zb3Bo Z28vY2xrLXNnMjA0Mi1jbGtnZW4uY8KgwqDCoMKgIHzCoCAxNyArKy0tCj4gwqBkcml2ZXJzL2Ns ay9zb3BoZ28vY2xrLXNnMjA0Mi1wbGwuY8KgwqDCoMKgwqDCoMKgIHzCoCAyNCArKy0tLQo+IMKg ZHJpdmVycy9jbGsvc3BhY2VtaXQvY2N1X2Rkbi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC oCAxMSArKy0KPiDCoGRyaXZlcnMvY2xrL3NwYWNlbWl0L2NjdV9taXguY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8wqAgMTIgKy0tCj4gwqBkcml2ZXJzL2Nsay9zcGFjZW1pdC9jY3VfcGxsLmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDEwICsrLQo+IMKgZHJpdmVycy9jbGsvc3BlYXIv Y2xrLWF1eC1zeW50aC5jwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxMiArLS0KPiDCoGRyaXZlcnMv Y2xrL3NwZWFyL2Nsay1mcmFjLXN5bnRoLmPCoMKgwqDCoMKgwqDCoMKgIHzCoCAxMiArLS0KPiDC oGRyaXZlcnMvY2xrL3NwZWFyL2Nsay1ncHQtc3ludGguY8KgwqDCoMKgwqDCoMKgwqDCoCB8wqAg MTIgKy0tCj4gwqBkcml2ZXJzL2Nsay9zcGVhci9jbGstdmNvLXBsbC5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8wqAgMjMgKysrLS0KPiDCoGRyaXZlcnMvY2xrL3NwcmQvZGl2LmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxMyArLS0KPiDCoGRyaXZlcnMvY2xr L3NwcmQvcGxsLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKg IDggKy0KPiDCoGRyaXZlcnMvY2xrL3N0L2Nsa2dlbi1mc3luLmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHzCoCAzMyArKystLS0tCj4gwqBkcml2ZXJzL2Nsay9zdC9jbGtnZW4tcGxsLmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDM4ICsrKystLS0tCj4gwqBkcml2ZXJz L2Nsay9zdG0zMi9jbGstc3RtMzItY29yZS5jwqDCoMKgwqDCoMKgwqDCoCB8wqAgMjggKysrLS0t Cj4gwqBkcml2ZXJzL2Nsay9zdG0zMi9jbGstc3RtMzJtcDEuY8KgwqDCoMKgwqDCoMKgwqDCoMKg IHzCoCAxMyArLS0KPiDCoGRyaXZlcnMvY2xrL3V4NTAwL2Nsay1wcmNtdS5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfMKgIDE0ICstLQo+IMKgZHJpdmVycy9jbGsvdmVyc2F0aWxlL2Nsay1p Y3N0LmPCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNzIgKysrKysrKysrLS0tLS0tCj4gwqBkcml2 ZXJzL2Nsay92ZXJzYXRpbGUvY2xrLXZleHByZXNzLW9zYy5jwqDCoCB8wqAgMTYgKystLQo+IMKg ZHJpdmVycy9jbGsvdmlzY29udGkvcGxsLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8wqAgMTcgKystLQo+IMKgZHJpdmVycy9jbGsveDg2L2Nsay1jZ3UuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDM1ICsrKystLS0tCj4gwqBkcml2ZXJzL2Nsay94aWxp bngvY2xrLXhsbngtY2xvY2std2l6YXJkLmMgfMKgIDU1ICsrKysrKy0tLS0tLQo+IMKgZHJpdmVy cy9jbGsveGlsaW54L3hsbnhfdmN1LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTUg KystLQo+IMKgZHJpdmVycy9jbGsvenlucS9wbGwuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfMKgIDEyICstLQo+IMKgZHJpdmVycy9jbGsvenlucW1wL2RpdmlkZXIu Y8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIzICsrLS0tCj4gwqBkcml2ZXJzL2Ns ay96eW5xbXAvcGxsLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDI0 ICsrLS0tCj4gwqAxMTYgZmlsZXMgY2hhbmdlZCwgMTQ3NyBpbnNlcnRpb25zKCspLCAxMTMyIGRl bGV0aW9ucygtKQo+IC0tLQo+IGJhc2UtY29tbWl0OiA4ZjVhZTMwZDY5ZDc1NDNlZWUwZDcwMDgz ZGFmNGRlOGZlMTVkNTg1Cj4gY2hhbmdlLWlkOiAyMDI1MDcyOS1jbGstZm9yLXN0ZXBoZW4tcm91 bmQtcmF0ZS01YTg4ZWJkZjhkYTYKPiAKPiBCZXN0IHJlZ2FyZHMsCgo=