From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 119781FF165 for ; Thu, 3 Jul 2025 15:11:26 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 9A0781399E; Thu, 3 Jul 2025 15:12:04 +0200 (CEST) Date: Thu, 3 Jul 2025 15:11:24 +0200 From: Wolfgang Bumiller To: Gabriel Goller Message-ID: References: <20250702145101.894299-1-g.goller@proxmox.com> <20250702145101.894299-2-g.goller@proxmox.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20250702145101.894299-2-g.goller@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 KAM_SHORT 0.001 Use of a URL Shortener for very short URL PROLO_LEO1 0.1 Meta Catches all Leo drug variations so far 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. [proxmox.com, lib.rs, gnu.org] Subject: Re: [pve-devel] [PATCH proxmox v4 1/5] network-types: initial commit X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Cc: pve-devel@lists.proxmox.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" T24gV2VkLCBKdWwgMDIsIDIwMjUgYXQgMDQ6NDk6NDZQTSArMDIwMCwgR2FicmllbCBHb2xsZXIg d3JvdGU6Cj4gRnJvbTogU3RlZmFuIEhhbnJlaWNoIDxzLmhhbnJlaWNoQHByb3htb3guY29tPgo+ IAo+IFRoaXMgY29tbWl0IG1vdmVzIHNvbWUgSVAgYWRkcmVzcyBhbmQgTUFDIGFkZHJlc3MgdHlw ZXMgZnJvbQo+IHByb3htb3gtdmUtY29uZmlnIHRvIHByb3htb3gsIHNvIHRoZXkgY2FuIGJlIHVz ZWQgcmUtdXNlZCBhY3Jvc3Mgb3VyCj4gY29kZSBiYXNlLgoKXiBTb21lIG5pdHMgYXJlIHByb2Jh Ymx5IGFib3V0IG9sZCBtb3ZlZCBjb2RlIHRoZW4gOy0pCgo+IAo+IFRoZSBjb2RlIGluIHRoaXMg Y29tbWl0IGlzIG1vc3RseSB0aGUgc2FtZSBhcyBpbiBwcm94bW94LXZlLWNvbmZpZwo+ICgnYmM5 MjUzZDgnKSwgYnV0IEkgaGF2ZSBtYWRlIGEgZmV3IGNoYW5nZXM6Cj4gCj4gKiBBZGRlZCBhZGRp dGlvbmFsIGRvY3VtZW50YXRpb24gdG8gc29tZSBvZiB0aGUgc3RydWN0cyBhbmQgdGhlaXIKPiAg IG1ldGhvZHMKPiAqIENvbnZlcnRlZCBhbGwgZXJyb3IgdHlwZXMgdG8gdGhpc2Vycm9yCj4gCj4g U2lnbmVkLW9mZi1ieTogU3RlZmFuIEhhbnJlaWNoIDxzLmhhbnJlaWNoQHByb3htb3guY29tPgo+ IC0tLQo+ICBDYXJnby50b21sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUw ICstCj4gIHByb3htb3gtbmV0d29yay10eXBlcy9DYXJnby50b21sICAgICAgICAgICB8ICAgMjEg Kwo+ICBwcm94bW94LW5ldHdvcmstdHlwZXMvZGViaWFuL2NoYW5nZWxvZyAgICAgfCAgICA1ICsK PiAgcHJveG1veC1uZXR3b3JrLXR5cGVzL2RlYmlhbi9jb3B5cmlnaHQgICAgIHwgICAxOCArCj4g IHByb3htb3gtbmV0d29yay10eXBlcy9kZWJpYW4vZGViY2FyZ28udG9tbCB8ICAgIDcgKwo+ICBw cm94bW94LW5ldHdvcmstdHlwZXMvc3JjL2lwX2FkZHJlc3MucnMgICAgfCAxNDEwICsrKysrKysr KysrKysrKysrKysrCj4gIHByb3htb3gtbmV0d29yay10eXBlcy9zcmMvbGliLnJzICAgICAgICAg ICB8ICAgIDUgKwo+ICBwcm94bW94LW5ldHdvcmstdHlwZXMvc3JjL21hY19hZGRyZXNzLnJzICAg fCAgMTIxICsrCj4gIDggZmlsZXMgY2hhbmdlZCwgMTYxMiBpbnNlcnRpb25zKCspLCAyNSBkZWxl dGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHByb3htb3gtbmV0d29yay10eXBlcy9DYXJn by50b21sCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBwcm94bW94LW5ldHdvcmstdHlwZXMvZGViaWFu L2NoYW5nZWxvZwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgcHJveG1veC1uZXR3b3JrLXR5cGVzL2Rl Ymlhbi9jb3B5cmlnaHQKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHByb3htb3gtbmV0d29yay10eXBl cy9kZWJpYW4vZGViY2FyZ28udG9tbAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgcHJveG1veC1uZXR3 b3JrLXR5cGVzL3NyYy9pcF9hZGRyZXNzLnJzCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBwcm94bW94 LW5ldHdvcmstdHlwZXMvc3JjL2xpYi5ycwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgcHJveG1veC1u ZXR3b3JrLXR5cGVzL3NyYy9tYWNfYWRkcmVzcy5ycwo+IAo+IGRpZmYgLS1naXQgYS9DYXJnby50 b21sIGIvQ2FyZ28udG9tbAo+IGluZGV4IDlhMDc0ODBlYjQ3Ny4uZjFlMzAwMGRmODkyIDEwMDY0 NAo+IC0tLSBhL0NhcmdvLnRvbWwKPiArKysgYi9DYXJnby50b21sCj4gQEAgLTI1LDYgKzI1LDcg QEAgbWVtYmVycyA9IFsKPiAgICAgICJwcm94bW94LWxvZ2luIiwKPiAgICAgICJwcm94bW94LW1l dHJpY3MiLAo+ICAgICAgInByb3htb3gtbmV0d29yay1hcGkiLAo+ICsgICAgInByb3htb3gtbmV0 d29yay10eXBlcyIsCj4gICAgICAicHJveG1veC1ub3RpZnkiLAo+ICAgICAgInByb3htb3gtb3Bl bmlkIiwKPiAgICAgICJwcm94bW94LXByb2R1Y3QtY29uZmlnIiwKPiBAQCAtMTI0LDMxICsxMjUs MzAgQEAgd2Fsa2RpciA9ICIyIgo+ICB6c3RkID0gIjAuMTMiCj4gIAo+ICAjIHdvcmtzcGFjZSBk ZXBlbmRlbmNpZXMKPiAtcHJveG1veC1hY2Nlc3MtY29udHJvbCA9IHsgdmVyc2lvbiA9ICIwLjIu NSIsIHBhdGggPSAicHJveG1veC1hY2Nlc3MtY29udHJvbCIgfQo+IC1wcm94bW94LWFjbWUgPSB7 ICB2ZXJzaW9uID0gIjEuMC4wIiwgcGF0aCA9ICJwcm94bW94LWFjbWUiLCBkZWZhdWx0LWZlYXR1 cmVzID0gZmFsc2UgfQo+IC1wcm94bW94LWFwaS1tYWNybyA9IHsgdmVyc2lvbiA9ICIxLjQuMCIs IHBhdGggPSAicHJveG1veC1hcGktbWFjcm8iIH0KPiAtcHJveG1veC1hcHQtYXBpLXR5cGVzID0g eyB2ZXJzaW9uID0gIjIuMC4wIiwgcGF0aCA9ICJwcm94bW94LWFwdC1hcGktdHlwZXMiIH0KPiAt cHJveG1veC1hdXRoLWFwaSA9IHsgdmVyc2lvbiA9ICIxLjAuMCIsIHBhdGggPSAicHJveG1veC1h dXRoLWFwaSIgfQo+IC1wcm94bW94LWFzeW5jID0geyB2ZXJzaW9uID0gIjAuNS4wIiwgcGF0aCA9 ICJwcm94bW94LWFzeW5jIiB9Cj4gLXByb3htb3gtYmFzZTY0ID0geyAgdmVyc2lvbiA9ICIxLjAu MCIsIHBhdGggPSAicHJveG1veC1iYXNlNjQiIH0KPiAtcHJveG1veC1jb21wcmVzc2lvbiA9IHsg dmVyc2lvbiA9ICIxLjAuMCIsIHBhdGggPSAicHJveG1veC1jb21wcmVzc2lvbiIgfQo+IC1wcm94 bW94LWRhZW1vbiA9IHsgdmVyc2lvbiA9ICIxLjAuMCIsIHBhdGggPSAicHJveG1veC1kYWVtb24i IH0KPiAtcHJveG1veC1odHRwID0geyB2ZXJzaW9uID0gIjEuMC4wIiwgcGF0aCA9ICJwcm94bW94 LWh0dHAiIH0KPiAtcHJveG1veC1odHRwLWVycm9yID0geyB2ZXJzaW9uID0gIjEuMC4wIiwgcGF0 aCA9ICJwcm94bW94LWh0dHAtZXJyb3IiIH0KPiAtcHJveG1veC1odW1hbi1ieXRlID0geyB2ZXJz aW9uID0gIjEuMC4wIiwgcGF0aCA9ICJwcm94bW94LWh1bWFuLWJ5dGUiIH0KPiAtcHJveG1veC1p byA9IHsgdmVyc2lvbiA9ICIxLjIuMCIsIHBhdGggPSAicHJveG1veC1pbyIgfQo+IC1wcm94bW94 LWxhbmcgPSB7IHZlcnNpb24gPSAiMS41IiwgcGF0aCA9ICJwcm94bW94LWxhbmciIH0KPiAtcHJv eG1veC1sb2cgPSB7IHZlcnNpb24gPSAiMS4wLjAiLCBwYXRoID0gInByb3htb3gtbG9nIiB9Cj4g LXByb3htb3gtbG9naW4gPSB7IHZlcnNpb24gPSAiMS4wLjAiLCBwYXRoID0gInByb3htb3gtbG9n aW4iIH0KPiAtcHJveG1veC1wcm9kdWN0LWNvbmZpZyA9IHsgdmVyc2lvbiA9ICIxLjAuMCIsIHBh dGggPSAicHJveG1veC1wcm9kdWN0LWNvbmZpZyIgfQo+IC1wcm94bW94LWNvbmZpZy1kaWdlc3Qg PSB7IHZlcnNpb24gPSAiMS4wLjAiLCBwYXRoID0gInByb3htb3gtY29uZmlnLWRpZ2VzdCIgfQo+ IC1wcm94bW94LXJlc3Qtc2VydmVyID0geyB2ZXJzaW9uID0gIjEuMC4wIiwgcGF0aCA9ICJwcm94 bW94LXJlc3Qtc2VydmVyIiB9Cj4gLXByb3htb3gtcm91dGVyID0geyB2ZXJzaW9uID0gIjMuMi4y IiwgcGF0aCA9ICJwcm94bW94LXJvdXRlciIgfQo+IC1wcm94bW94LXNjaGVtYSA9IHsgdmVyc2lv biA9ICI0LjEuMCIsIHBhdGggPSAicHJveG1veC1zY2hlbWEiIH0KPiAtcHJveG1veC1zZWN0aW9u LWNvbmZpZyA9IHsgdmVyc2lvbiA9ICIzLjEuMCIsIHBhdGggPSAicHJveG1veC1zZWN0aW9uLWNv bmZpZyIgfQo+IC1wcm94bW94LXNlbmRtYWlsID0geyB2ZXJzaW9uID0gIjEuMC4wIiwgcGF0aCA9 ICJwcm94bW94LXNlbmRtYWlsIiB9Cj4gLXByb3htb3gtc2VyZGUgPSB7IHZlcnNpb24gPSAiMS4w LjAiLCBwYXRoID0gInByb3htb3gtc2VyZGUiLCBmZWF0dXJlcyA9IFsgInNlcmRlX2pzb24iIF0g fQo+IC1wcm94bW94LXNoYXJlZC1tZW1vcnkgPSB7IHZlcnNpb24gPSAiMS4wLjAiLCBwYXRoID0g InByb3htb3gtc2hhcmVkLW1lbW9yeSIgfQo+ICtwcm94bW94LWFjbWUgPSB7ICB2ZXJzaW9uID0g IjAuNS4zIiwgcGF0aCA9ICJwcm94bW94LWFjbWUiLCBkZWZhdWx0LWZlYXR1cmVzID0gZmFsc2Ug fQo+ICtwcm94bW94LWFwaS1tYWNybyA9IHsgdmVyc2lvbiA9ICIxLjMuMiIsIHBhdGggPSAicHJv eG1veC1hcGktbWFjcm8iIH0KPiArcHJveG1veC1hcHQtYXBpLXR5cGVzID0geyB2ZXJzaW9uID0g IjEuMC4yIiwgcGF0aCA9ICJwcm94bW94LWFwdC1hcGktdHlwZXMiIH0KPiArcHJveG1veC1hdXRo LWFwaSA9IHsgdmVyc2lvbiA9ICIwLjQuMCIsIHBhdGggPSAicHJveG1veC1hdXRoLWFwaSIgfQo+ ICtwcm94bW94LWFzeW5jID0geyB2ZXJzaW9uID0gIjAuNC4xIiwgcGF0aCA9ICJwcm94bW94LWFz eW5jIiB9Cj4gK3Byb3htb3gtY29tcHJlc3Npb24gPSB7IHZlcnNpb24gPSAiMC4yLjQiLCBwYXRo ID0gInByb3htb3gtY29tcHJlc3Npb24iIH0KPiArcHJveG1veC1kYWVtb24gPSB7IHZlcnNpb24g PSAiMC4xLjAiLCBwYXRoID0gInByb3htb3gtZGFlbW9uIiB9Cj4gK3Byb3htb3gtaHR0cCA9IHsg dmVyc2lvbiA9ICIwLjkuNSIsIHBhdGggPSAicHJveG1veC1odHRwIiB9Cj4gK3Byb3htb3gtaHR0 cC1lcnJvciA9IHsgdmVyc2lvbiA9ICIwLjEuMCIsIHBhdGggPSAicHJveG1veC1odHRwLWVycm9y IiB9Cj4gK3Byb3htb3gtaHVtYW4tYnl0ZSA9IHsgdmVyc2lvbiA9ICIwLjEuMCIsIHBhdGggPSAi cHJveG1veC1odW1hbi1ieXRlIiB9Cj4gK3Byb3htb3gtaW8gPSB7IHZlcnNpb24gPSAiMS4xLjAi LCBwYXRoID0gInByb3htb3gtaW8iIH0KPiArcHJveG1veC1sYW5nID0geyB2ZXJzaW9uID0gIjEu MyIsIHBhdGggPSAicHJveG1veC1sYW5nIiB9Cj4gK3Byb3htb3gtbG9nPSB7IHZlcnNpb24gPSAi MC4yLjkiLCBwYXRoID0gInByb3htb3gtbG9nIiB9Cj4gK3Byb3htb3gtbG9naW4gPSB7IHZlcnNp b24gPSAiMC4yLjAiLCBwYXRoID0gInByb3htb3gtbG9naW4iIH0KPiArcHJveG1veC1uZXR3b3Jr LXR5cGVzID0geyB2ZXJzaW9uID0gIjAuMS4wIiwgcGF0aCA9ICJwcm94bW94LW5ldHdvcmstdHlw ZXMiIH0KPiArcHJveG1veC1wcm9kdWN0LWNvbmZpZyA9IHsgdmVyc2lvbiA9ICIwLjIuMCIsIHBh dGggPSAicHJveG1veC1wcm9kdWN0LWNvbmZpZyIgfQo+ICtwcm94bW94LWNvbmZpZy1kaWdlc3Qg PSB7IHZlcnNpb24gPSAiMC4xLjAiLCBwYXRoID0gInByb3htb3gtY29uZmlnLWRpZ2VzdCIgfQo+ ICtwcm94bW94LXJlc3Qtc2VydmVyID0geyB2ZXJzaW9uID0gIjAuOC44IiwgcGF0aCA9ICJwcm94 bW94LXJlc3Qtc2VydmVyIiB9Cj4gK3Byb3htb3gtcm91dGVyID0geyB2ZXJzaW9uID0gIjMuMS4x IiwgcGF0aCA9ICJwcm94bW94LXJvdXRlciIgfQo+ICtwcm94bW94LXNjaGVtYSA9IHsgdmVyc2lv biA9ICI0LjAuMCIsIHBhdGggPSAicHJveG1veC1zY2hlbWEiIH0KPiArcHJveG1veC1zZWN0aW9u LWNvbmZpZyA9IHsgdmVyc2lvbiA9ICIzLjAuMCIsIHBhdGggPSAicHJveG1veC1zZWN0aW9uLWNv bmZpZyIgfQo+ICtwcm94bW94LXNlbmRtYWlsID0geyB2ZXJzaW9uID0gIjAuMS4wIiwgcGF0aCA9 ICJwcm94bW94LXNlbmRtYWlsIiB9Cj4gK3Byb3htb3gtc2VyZGUgPSB7IHZlcnNpb24gPSAiMC4x LjEiLCBwYXRoID0gInByb3htb3gtc2VyZGUiLCBmZWF0dXJlcyA9IFsgInNlcmRlX2pzb24iIF0g fQo+ICtwcm94bW94LXNoYXJlZC1tZW1vcnkgPSB7IHZlcnNpb24gPSAiMC4zLjAiLCBwYXRoID0g InByb3htb3gtc2hhcmVkLW1lbW9yeSIgfQo+ICBwcm94bW94LXNvcnRhYmxlLW1hY3JvID0geyB2 ZXJzaW9uID0gIjAuMS4zIiwgcGF0aCA9ICJwcm94bW94LXNvcnRhYmxlLW1hY3JvIiB9CgpeIFJl dmVydHMgdG8gYm9va3dvcm0gZGVwcyAtIHlvdSBzdXJlIHRoZSBwYXRjaGVzIGFyZSBvdGhlcndp c2UgYmFzZWQgb24KdHJpeGllPwoKPiAgcHJveG1veC1zeXMgPSB7IHZlcnNpb24gPSAiMS4wLjAi LCBwYXRoID0gInByb3htb3gtc3lzIiB9Cj4gIHByb3htb3gtc3lzdGVtZCA9IHsgdmVyc2lvbiA9 ICIxLjAuMCIsIHBhdGggPSAicHJveG1veC1zeXN0ZW1kIiB9Cj4gZGlmZiAtLWdpdCBhL3Byb3ht b3gtbmV0d29yay10eXBlcy9DYXJnby50b21sIGIvcHJveG1veC1uZXR3b3JrLXR5cGVzL0Nhcmdv LnRvbWwKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uYWE2ZDY2 YmM4ZDBjCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3Byb3htb3gtbmV0d29yay10eXBlcy9DYXJn by50b21sCj4gQEAgLTAsMCArMSwyMSBAQAo+ICtbcGFja2FnZV0KPiArbmFtZSA9ICJwcm94bW94 LW5ldHdvcmstdHlwZXMiCj4gK2Rlc2NyaXB0aW9uID0gIlJ1c3QgdHlwZXMgZm9yIGNvbW1vbiBu ZXR3b3JraW5nIGVudGl0aWVzIgo+ICt2ZXJzaW9uID0gIjAuMS4wIgo+ICthdXRob3JzLndvcmtz cGFjZSA9IHRydWUKPiArZWRpdGlvbi53b3Jrc3BhY2UgPSB0cnVlCj4gK2xpY2Vuc2Uud29ya3Nw YWNlID0gdHJ1ZQo+ICtob21lcGFnZS53b3Jrc3BhY2UgPSB0cnVlCj4gK2V4Y2x1ZGUud29ya3Nw YWNlID0gdHJ1ZQo+ICtydXN0LXZlcnNpb24ud29ya3NwYWNlID0gdHJ1ZQo+ICsKPiArW2RlcGVu ZGVuY2llc10KPiArcmVnZXggPSB7IHdvcmtzcGFjZSA9IHRydWUsIG9wdGlvbmFsID0gdHJ1ZX0K PiArc2VyZGUgPSB7IHdvcmtzcGFjZSA9IHRydWUsIGZlYXR1cmVzID0gWyAiZGVyaXZlIiwgInN0 ZCIgXSB9Cj4gK3NlcmRlX3dpdGggPSAiMy44LjEiCj4gK3RoaXNlcnJvciA9ICIyIgo+ICsKPiAr cHJveG1veC1zY2hlbWEgPSB7IHdvcmtzcGFjZSA9IHRydWUsIGZlYXR1cmVzID0gWyAiYXBpLW1h Y3JvIiwgImFwaS10eXBlcyIgXSwgb3B0aW9uYWwgPSB0cnVlfQo+ICsKPiArW2ZlYXR1cmVzXQo+ ICtkZWZhdWx0ID0gW10KPiBkaWZmIC0tZ2l0IGEvcHJveG1veC1uZXR3b3JrLXR5cGVzL2RlYmlh bi9jaGFuZ2Vsb2cgYi9wcm94bW94LW5ldHdvcmstdHlwZXMvZGViaWFuL2NoYW5nZWxvZwo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi43OGNiMGFiMGRiMjMKPiAt LS0gL2Rldi9udWxsCj4gKysrIGIvcHJveG1veC1uZXR3b3JrLXR5cGVzL2RlYmlhbi9jaGFuZ2Vs b2cKPiBAQCAtMCwwICsxLDUgQEAKPiArcnVzdC1wcm94bW94LW5ldHdvcmstdHlwZXMgKDAuMS4w LTEpIHVuc3RhYmxlOyB1cmdlbmN5PW1lZGl1bQo+ICsKPiArICAqIEluaXRpYWwgcmVsZWFzZS4K PiArCj4gKyAtLSBQcm94bW94IFN1cHBvcnQgVGVhbSA8c3VwcG9ydEBwcm94bW94LmNvbT4gIE1v biwgMDMgSnVuIDIwMjQgMTA6NTE6MTEgKzAyMDAKPiBkaWZmIC0tZ2l0IGEvcHJveG1veC1uZXR3 b3JrLXR5cGVzL2RlYmlhbi9jb3B5cmlnaHQgYi9wcm94bW94LW5ldHdvcmstdHlwZXMvZGViaWFu L2NvcHlyaWdodAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi4x ZWE4YTU2YjRmNTgKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcHJveG1veC1uZXR3b3JrLXR5cGVz L2RlYmlhbi9jb3B5cmlnaHQKPiBAQCAtMCwwICsxLDE4IEBACj4gK0Zvcm1hdDogaHR0cHM6Ly93 d3cuZGViaWFuLm9yZy9kb2MvcGFja2FnaW5nLW1hbnVhbHMvY29weXJpZ2h0LWZvcm1hdC8xLjAv Cj4gKwo+ICtGaWxlczoKPiArICoKPiArQ29weXJpZ2h0OiAyMDE5IC0gMjAyNSBQcm94bW94IFNl cnZlciBTb2x1dGlvbnMgR21iSCA8c3VwcG9ydEBwcm94bW94LmNvbT4KPiArTGljZW5zZTogQUdQ TC0zLjAtb3ItbGF0ZXIKPiArIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCj4gKyB0aGUgdGVybXMgb2Yg dGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl IEZyZWUKPiArIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55Cj4gKyBsYXRlciB2ZXJzaW9uLgo+ICsgLgo+ ICsgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCj4gKyBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUwo+ICsgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZQo+ICsgZGV0YWlscy4KPiArIC4KPiArIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9u Zwo+ICsgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3Jn L2xpY2Vuc2VzLz4uCj4gZGlmZiAtLWdpdCBhL3Byb3htb3gtbmV0d29yay10eXBlcy9kZWJpYW4v ZGViY2FyZ28udG9tbCBiL3Byb3htb3gtbmV0d29yay10eXBlcy9kZWJpYW4vZGViY2FyZ28udG9t bAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi5iNzg2NGNkYmFi N2QKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcHJveG1veC1uZXR3b3JrLXR5cGVzL2RlYmlhbi9k ZWJjYXJnby50b21sCj4gQEAgLTAsMCArMSw3IEBACj4gK292ZXJsYXkgPSAiLiIKPiArY3JhdGVf c3JjX3BhdGggPSAiLi4iCj4gK21haW50YWluZXIgPSAiUHJveG1veCBTdXBwb3J0IFRlYW0gPHN1 cHBvcnRAcHJveG1veC5jb20+Igo+ICsKPiArW3NvdXJjZV0KPiArdmNzX2dpdCA9ICJnaXQ6Ly9n aXQucHJveG1veC5jb20vZ2l0L3Byb3htb3guZ2l0Igo+ICt2Y3NfYnJvd3NlciA9ICJodHRwczov L2dpdC5wcm94bW94LmNvbS8/cD1wcm94bW94LmdpdCIKPiBkaWZmIC0tZ2l0IGEvcHJveG1veC1u ZXR3b3JrLXR5cGVzL3NyYy9pcF9hZGRyZXNzLnJzIGIvcHJveG1veC1uZXR3b3JrLXR5cGVzL3Ny Yy9pcF9hZGRyZXNzLnJzCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAw MDAuLjM1NTU0N2IxN2FlMAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9wcm94bW94LW5ldHdvcmst dHlwZXMvc3JjL2lwX2FkZHJlc3MucnMKPiBAQCAtMCwwICsxLDE0MTAgQEAKPiArLy8hIFByb3Zp ZGVzIGhlbHBlcnMgdG8gZGVhbCB3aXRoIElQIGFkZHJlc3NlcyAvIENJRFJzCj4gKwo+ICt1c2Ug c3RkOjpuZXQ6OntBZGRyUGFyc2VFcnJvciwgSXBBZGRyLCBJcHY0QWRkciwgSXB2NkFkZHJ9Owo+ ICsKPiArdXNlIHNlcmRlX3dpdGg6OntEZXNlcmlhbGl6ZUZyb21TdHIsIFNlcmlhbGl6ZURpc3Bs YXl9Owo+ICt1c2UgdGhpc2Vycm9yOjpFcnJvcjsKPiArCj4gKy8vLyBUaGUgZmFtaWx5ICh2NCBv ciB2NikgIG9mIGFuIElQIGFkZHJlc3Mgb3IgQ0lEUiBwcmVmaXgKPiArI1tkZXJpdmUoQ2xvbmUs IENvcHksIERlYnVnLCBFcSwgUGFydGlhbEVxKV0KPiArcHViIGVudW0gRmFtaWx5IHsKPiArICAg IFY0LAo+ICsgICAgVjYsCj4gK30KPiArCj4gK2ltcGwgRmFtaWx5IHsKPiArICAgIHB1YiBmbiBp c19pcHY0KCZzZWxmKSAtPiBib29sIHsKPiArICAgICAgICAqc2VsZiA9PSBTZWxmOjpWNAo+ICsg ICAgfQoKbml0OiDihpHihpMgdGhvc2UgY291bGQgdGFrZSBzZWxmIGNvcGllZCBzaW5jZSBpdCdz IEZhbWlseSBpcyBDb3B5LgoKPiArCj4gKyAgICBwdWIgZm4gaXNfaXB2Nigmc2VsZikgLT4gYm9v bCB7Cj4gKyAgICAgICAgKnNlbGYgPT0gU2VsZjo6VjYKPiArICAgIH0KPiArfQo+ICsKPiAraW1w bCBzdGQ6OmZtdDo6RGlzcGxheSBmb3IgRmFtaWx5IHsKPiArICAgIGZuIGZtdCgmc2VsZiwgZjog Jm11dCBzdGQ6OmZtdDo6Rm9ybWF0dGVyKSAtPiBzdGQ6OmZtdDo6UmVzdWx0IHsKPiArICAgICAg ICBtYXRjaCBzZWxmIHsKPiArICAgICAgICAgICAgRmFtaWx5OjpWNCA9PiBmLndyaXRlX3N0cigi SXB2NCIpLAo+ICsgICAgICAgICAgICBGYW1pbHk6OlY2ID0+IGYud3JpdGVfc3RyKCJJcHY2Iiks CgpGb3IgYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIGl0IElNTyBtYWtlcyBubyBzZW5zZSB0byBt aXgKY2FwaXRhbC9sb3dlcmNhc2UgaW4gIklQIi4gSWYgd2UgbmVlZCB0byBrZWVwIHRoaXMgZm9y IHNlci9kZSBwdXJwb3NlcywKYWRkIGEgY29tbWVudCBwbGVhc2UuIE90aGVyd2lzZSBjaGFuZ2Ug aXQgdG8gSVB2NC9JUHY2LgoKPiArICAgICAgICB9Cj4gKyAgICB9Cj4gK30KPiArCj4gKyNbZGVy aXZlKEVycm9yLCBEZWJ1ZyldCj4gK3B1YiBlbnVtIENpZHJFcnJvciB7Cj4gKyAgICAjW2Vycm9y KCJpbnZhbGlkIG5ldG1hc2siKV0KPiArICAgIEludmFsaWROZXRtYXNrLAo+ICsgICAgI1tlcnJv cigiaW52YWxpZCBJUCBhZGRyZXNzIildCj4gKyAgICBJbnZhbGlkQWRkcmVzcygjW2Zyb21dIEFk ZHJQYXJzZUVycm9yKSwKPiArfQo+ICsKPiArLy8vIFJlcHJlc2VudHMgZWl0aGVyIGFuIFtgSXB2 NENpZHJgXSBvciBbYElwdjZDaWRyYF0gQ0lEUiBwcmVmaXgKPiArI1tkZXJpdmUoCj4gKyAgICBD bG9uZSwgQ29weSwgRGVidWcsIFBhcnRpYWxPcmQsIE9yZCwgUGFydGlhbEVxLCBFcSwgSGFzaCwg U2VyaWFsaXplRGlzcGxheSwgRGVzZXJpYWxpemVGcm9tU3RyLAo+ICspXQo+ICtwdWIgZW51bSBD aWRyIHsKPiArICAgIElwdjQoSXB2NENpZHIpLAo+ICsgICAgSXB2NihJcHY2Q2lkciksCj4gK30K PiArCj4gK2ltcGwgQ2lkciB7Cj4gKyAgICBwdWIgZm4gbmV3X3Y0KGFkZHI6IGltcGwgSW50bzxJ cHY0QWRkcj4sIG1hc2s6IHU4KSAtPiBSZXN1bHQ8U2VsZiwgQ2lkckVycm9yPiB7Cj4gKyAgICAg ICAgT2soQ2lkcjo6SXB2NChJcHY0Q2lkcjo6bmV3KGFkZHIsIG1hc2spPykpCj4gKyAgICB9Cj4g Kwo+ICsgICAgcHViIGZuIG5ld192NihhZGRyOiBpbXBsIEludG88SXB2NkFkZHI+LCBtYXNrOiB1 OCkgLT4gUmVzdWx0PFNlbGYsIENpZHJFcnJvcj4gewo+ICsgICAgICAgIE9rKENpZHI6OklwdjYo SXB2NkNpZHI6Om5ldyhhZGRyLCBtYXNrKT8pKQo+ICsgICAgfQo+ICsKPiArICAgIC8vLyB3aGlj aCBbYEZhbWlseWBdIHRoaXMgQ0lEUiBiZWxvbmdzIHRvCj4gKyAgICBwdWIgY29uc3QgZm4gZmFt aWx5KCZzZWxmKSAtPiBGYW1pbHkgewo+ICsgICAgICAgIG1hdGNoIHNlbGYgewo+ICsgICAgICAg ICAgICBDaWRyOjpJcHY0KF8pID0+IEZhbWlseTo6VjQsCj4gKyAgICAgICAgICAgIENpZHI6Oklw djYoXykgPT4gRmFtaWx5OjpWNiwKPiArICAgICAgICB9Cj4gKyAgICB9Cj4gKwo+ICsgICAgcHVi IGZuIGlzX2lwdjQoJnNlbGYpIC0+IGJvb2wgewo+ICsgICAgICAgIG1hdGNoZXMhKHNlbGYsIENp ZHI6OklwdjQoXykpCj4gKyAgICB9Cj4gKwo+ICsgICAgcHViIGZuIGlzX2lwdjYoJnNlbGYpIC0+ IGJvb2wgewo+ICsgICAgICAgIG1hdGNoZXMhKHNlbGYsIENpZHI6OklwdjYoXykpCj4gKyAgICB9 Cj4gKwo+ICsgICAgLy8vIFdoZXRoZXIgYSBnaXZlbiBJUCBhZGRyZXNzIGlzIGNvbnRhaW5lZCBp biB0aGlzIFtgQ2lkcmBdCj4gKyAgICAvLy8KPiArICAgIC8vLyBUaGlzIG9ubHkgd29ya3MgaWYg Ym90aCBbYElwQWRkcmBdIGFyZSBpbiB0aGUgc2FtZSBmYW1pbHksIG90aGVyd2lzZSB0aGUgZnVu Y3Rpb24gcmV0dXJucwo+ICsgICAgLy8vIGZhbHNlLgo+ICsgICAgcHViIGZuIGNvbnRhaW5zX2Fk ZHJlc3MoJnNlbGYsIGlwOiAmSXBBZGRyKSAtPiBib29sIHsKPiArICAgICAgICBtYXRjaCAoc2Vs ZiwgaXApIHsKPiArICAgICAgICAgICAgKENpZHI6OklwdjQoY2lkciksIElwQWRkcjo6VjQoaXAp KSA9PiBjaWRyLmNvbnRhaW5zX2FkZHJlc3MoaXApLAo+ICsgICAgICAgICAgICAoQ2lkcjo6SXB2 NihjaWRyKSwgSXBBZGRyOjpWNihpcCkpID0+IGNpZHIuY29udGFpbnNfYWRkcmVzcyhpcCksCj4g KyAgICAgICAgICAgIF8gPT4gZmFsc2UsCj4gKyAgICAgICAgfQo+ICsgICAgfQo+ICt9Cj4gKwo+ ICtpbXBsIHN0ZDo6Zm10OjpEaXNwbGF5IGZvciBDaWRyIHsKPiArICAgIGZuIGZtdCgmc2VsZiwg ZjogJm11dCBzdGQ6OmZtdDo6Rm9ybWF0dGVyKSAtPiBzdGQ6OmZtdDo6UmVzdWx0IHsKPiArICAg ICAgICBtYXRjaCBzZWxmIHsKPiArICAgICAgICAgICAgU2VsZjo6SXB2NChpcCkgPT4gZi53cml0 ZV9zdHIoaXAudG9fc3RyaW5nKCkuYXNfc3RyKCkpLAo+ICsgICAgICAgICAgICBTZWxmOjpJcHY2 KGlwKSA9PiBmLndyaXRlX3N0cihpcC50b19zdHJpbmcoKS5hc19zdHIoKSksCgpObyBuZWVkIHRv IGFsbG9jYXRlIGEgbmV3IHN0cmluZyBpZiB5b3UganVzdCBmb3J3YXJkIHRvIHRoZSBpbm5lciB2 YWx1ZSwKZWl0aGVyIHVzZSBgd3JpdGUhKGYsIGlwKWAgKG1vcmUgY29udmVuaWVudCksIG9yIGV4 cGxpY2l0bHkgZm9yd2FyZCB2aWEKYERpc3BsYXk6OmZtdChpcCwgZilgOgoKICAgICAgICAgICAg U2VsZjo6SXB2NChpcCkgPT4gZm10OjpEaXNwbGF5OjpmbXQoaXAsIGYpLAogICAgICAgICAgICBT ZWxmOjpJcHY2KGlwKSA9PiBmbXQ6OkRpc3BsYXk6OmZtdChpcCwgZiksCgo+ICsgICAgICAgIH0K PiArICAgIH0KPiArfQo+ICsKPiAraW1wbCBzdGQ6OnN0cjo6RnJvbVN0ciBmb3IgQ2lkciB7Cj4g KyAgICB0eXBlIEVyciA9IENpZHJFcnJvcjsKPiArCj4gKyAgICBmbiBmcm9tX3N0cihzOiAmc3Ry KSAtPiBSZXN1bHQ8U2VsZiwgU2VsZjo6RXJyPiB7Cj4gKyAgICAgICAgaWYgbGV0IE9rKGlwKSA9 IHMucGFyc2U6OjxJcHY0Q2lkcj4oKSB7Cj4gKyAgICAgICAgICAgIHJldHVybiBPayhDaWRyOjpJ cHY0KGlwKSk7Cj4gKyAgICAgICAgfQo+ICsKPiArICAgICAgICBPayhDaWRyOjpJcHY2KHMucGFy c2UoKT8pKQo+ICsgICAgfQo+ICt9Cj4gKwo+ICtpbXBsIEZyb208SXB2NENpZHI+IGZvciBDaWRy IHsKPiArICAgIGZuIGZyb20oY2lkcjogSXB2NENpZHIpIC0+IFNlbGYgewo+ICsgICAgICAgIENp ZHI6OklwdjQoY2lkcikKPiArICAgIH0KPiArfQo+ICsKPiAraW1wbCBGcm9tPElwdjZDaWRyPiBm b3IgQ2lkciB7Cj4gKyAgICBmbiBmcm9tKGNpZHI6IElwdjZDaWRyKSAtPiBTZWxmIHsKPiArICAg ICAgICBDaWRyOjpJcHY2KGNpZHIpCj4gKyAgICB9Cj4gK30KPiArCj4gK2ltcGwgRnJvbTxJcEFk ZHI+IGZvciBDaWRyIHsKPiArICAgIGZuIGZyb20odmFsdWU6IElwQWRkcikgLT4gU2VsZiB7Cj4g KyAgICAgICAgbWF0Y2ggdmFsdWUgewo+ICsgICAgICAgICAgICBJcEFkZHI6OlY0KGFkZHIpID0+ IElwdjRDaWRyOjpmcm9tKGFkZHIpLmludG8oKSwKPiArICAgICAgICAgICAgSXBBZGRyOjpWNihh ZGRyKSA9PiBJcHY2Q2lkcjo6ZnJvbShhZGRyKS5pbnRvKCksCj4gKyAgICAgICAgfQo+ICsgICAg fQo+ICt9Cj4gKwo+ICtjb25zdCBJUFY0X0xFTkdUSDogdTggPSAzMjsKPiArCj4gKy8vLyBBbiBJ UHY0IENJRFIgKGUuZy4gMTkyLjAuMi4wLzI0KQo+ICsjW2Rlcml2ZSgKPiArICAgIFNlcmlhbGl6 ZURpc3BsYXksIERlc2VyaWFsaXplRnJvbVN0ciwgQ2xvbmUsIENvcHksIERlYnVnLCBQYXJ0aWFs T3JkLCBPcmQsIFBhcnRpYWxFcSwgRXEsIEhhc2gsCgpuaXQ6IHdvdWxkIHByZWZlciB0aGUgc3Rh bmRhcmQgc3R1ZmYgZmlyc3QKCj4gKyldCj4gK3B1YiBzdHJ1Y3QgSXB2NENpZHIgewo+ICsgICAg YWRkcjogSXB2NEFkZHIsCj4gKyAgICBtYXNrOiB1OCwKPiArfQo+ICsKPiAraW1wbCBJcHY0Q2lk ciB7Cj4gKyAgICBwdWIgZm4gbmV3KGFkZHI6IGltcGwgSW50bzxJcHY0QWRkcj4sIG1hc2s6IHU4 KSAtPiBSZXN1bHQ8U2VsZiwgQ2lkckVycm9yPiB7Cj4gKyAgICAgICAgaWYgbWFzayA+IElQVjRf TEVOR1RIIHsKPiArICAgICAgICAgICAgcmV0dXJuIEVycihDaWRyRXJyb3I6OkludmFsaWROZXRt YXNrKTsKPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgIE9rKFNlbGYgewo+ICsgICAgICAgICAg ICBhZGRyOiBhZGRyLmludG8oKSwKPiArICAgICAgICAgICAgbWFzaywKPiArICAgICAgICB9KQo+ ICsgICAgfQo+ICsKPiArICAgIC8vLyBjaGVja3Mgd2hldGhlciB0aGlzIENJRFIgY29udGFpbnMg YW4gSVB2NCBhZGRyZXNzLgo+ICsgICAgcHViIGZuIGNvbnRhaW5zX2FkZHJlc3MoJnNlbGYsIG90 aGVyOiAmSXB2NEFkZHIpIC0+IGJvb2wgewo+ICsgICAgICAgIGxldCBiaXRzID0gdTMyOjpmcm9t X2JlX2J5dGVzKHNlbGYuYWRkci5vY3RldHMoKSk7Cj4gKyAgICAgICAgbGV0IG90aGVyX2JpdHMg PSB1MzI6OmZyb21fYmVfYnl0ZXMob3RoZXIub2N0ZXRzKCkpOwo+ICsKPiArICAgICAgICBsZXQg c2hpZnRfYW1vdW50OiB1MzIgPSBJUFY0X0xFTkdUSC5zYXR1cmF0aW5nX3N1YihzZWxmLm1hc2sp LmludG8oKTsKPiArCj4gKyAgICAgICAgYml0cy5jaGVja2VkX3NocihzaGlmdF9hbW91bnQpLnVu d3JhcF9vcigwKQo+ICsgICAgICAgICAgICA9PSBvdGhlcl9iaXRzLmNoZWNrZWRfc2hyKHNoaWZ0 X2Ftb3VudCkudW53cmFwX29yKDApCgpeIENvdWxkIElNTyBqdXN0IHVzZSBgPj5gIHNpbmNlIGBJ UFY0X0xFTkdUSC5zYXR1cmF0aW5nX3N1YihzZWxmLm1hc2spYAppcyBhbHdheXMgPD0gdGhlIG51 bWJlciBvZiBiaXRzIG9yIGFuIHUzMi4KCj4gKyAgICB9Cj4gKwo+ICsgICAgcHViIGZuIGFkZHJl c3MoJnNlbGYpIC0+ICZJcHY0QWRkciB7Cj4gKyAgICAgICAgJnNlbGYuYWRkcgo+ICsgICAgfQo+ ICsKPiArICAgIHB1YiBmbiBtYXNrKCZzZWxmKSAtPiB1OCB7Cj4gKyAgICAgICAgc2VsZi5tYXNr Cj4gKyAgICB9Cj4gK30KPiArCj4gK2ltcGw8VDogSW50bzxJcHY0QWRkcj4+IEZyb208VD4gZm9y IElwdjRDaWRyIHsKPiArICAgIGZuIGZyb20odmFsdWU6IFQpIC0+IFNlbGYgewo+ICsgICAgICAg IFNlbGYgewo+ICsgICAgICAgICAgICBhZGRyOiB2YWx1ZS5pbnRvKCksCj4gKyAgICAgICAgICAg IG1hc2s6IDMyLAo+ICsgICAgICAgIH0KPiArICAgIH0KPiArfQo+ICsKPiAraW1wbCBzdGQ6OnN0 cjo6RnJvbVN0ciBmb3IgSXB2NENpZHIgewo+ICsgICAgdHlwZSBFcnIgPSBDaWRyRXJyb3I7Cj4g Kwo+ICsgICAgZm4gZnJvbV9zdHIoczogJnN0cikgLT4gUmVzdWx0PFNlbGYsIFNlbGY6OkVycj4g ewo+ICsgICAgICAgIE9rKG1hdGNoIHMuZmluZCgnLycpIHsKPiArICAgICAgICAgICAgTm9uZSA9 PiBTZWxmIHsKPiArICAgICAgICAgICAgICAgIGFkZHI6IHMucGFyc2UoKT8sCj4gKyAgICAgICAg ICAgICAgICBtYXNrOiAzMiwKPiArICAgICAgICAgICAgfSwKPiArICAgICAgICAgICAgU29tZShw b3MpID0+IHsKPiArICAgICAgICAgICAgICAgIGxldCBtYXNrOiB1OCA9IHNbKHBvcyArIDEpLi5d Cj4gKyAgICAgICAgICAgICAgICAgICAgLnBhcnNlKCkKPiArICAgICAgICAgICAgICAgICAgICAu bWFwX2Vycih8X3wgQ2lkckVycm9yOjpJbnZhbGlkTmV0bWFzayk/Owo+ICsKPiArICAgICAgICAg ICAgICAgIFNlbGY6Om5ldyhzWy4ucG9zXS5wYXJzZTo6PElwdjRBZGRyPigpPywgbWFzayk/Cj4g KyAgICAgICAgICAgIH0KPiArICAgICAgICB9KQoKXiBzaW5jZSAxLjUyIHRoaXMgY291bGQgYmUg bW9yZSByZWFkYWJsZSB3aXRoIGAuc3BsaXRfb25jZSgnLycpYCwgdGhlbgp3ZSBkb24ndCBuZWVk IHRvIHNsaWNlIG1hbnVhbGx5IHdpdGggYC4ucG9zYC9gKHBvcyArIDEpLi5gLgoKPiArICAgIH0K PiArfQo+ICsKPiAraW1wbCBzdGQ6OmZtdDo6RGlzcGxheSBmb3IgSXB2NENpZHIgewo+ICsgICAg Zm4gZm10KCZzZWxmLCBmOiAmbXV0IHN0ZDo6Zm10OjpGb3JtYXR0ZXIpIC0+IHN0ZDo6Zm10OjpS ZXN1bHQgewo+ICsgICAgICAgIHdyaXRlIShmLCAie30ve30iLCAmc2VsZi5hZGRyLCBzZWxmLm1h c2spCgpeIHVubmVjZXNzYXJ5ICYKCj4gKyAgICB9Cj4gK30KPiArCgrihpEgU2FtZSBuaXRzIGFz IGZvciB2NCBhbHNvIGFwcGx5IHRvIHY2IGJlbG93IOKGkwoKPiArY29uc3QgSVBWNl9MRU5HVEg6 IHU4ID0gMTI4Owo+ICsKPiArLy8vIEFuIElQdjYgQ0lEUiAoZS5nLiAyMDAxOmRiODo6LzMyKQo+ ICsjW2Rlcml2ZSgKPiArICAgIFNlcmlhbGl6ZURpc3BsYXksIERlc2VyaWFsaXplRnJvbVN0ciwg Q2xvbmUsIENvcHksIERlYnVnLCBQYXJ0aWFsT3JkLCBPcmQsIFBhcnRpYWxFcSwgRXEsIEhhc2gs Cj4gKyldCj4gK3B1YiBzdHJ1Y3QgSXB2NkNpZHIgewo+ICsgICAgYWRkcjogSXB2NkFkZHIsCj4g KyAgICBtYXNrOiB1OCwKPiArfQo+ICsKPiAraW1wbCBJcHY2Q2lkciB7Cj4gKyAgICBwdWIgZm4g bmV3KGFkZHI6IGltcGwgSW50bzxJcHY2QWRkcj4sIG1hc2s6IHU4KSAtPiBSZXN1bHQ8U2VsZiwg Q2lkckVycm9yPiB7Cj4gKyAgICAgICAgaWYgbWFzayA+IElQVjZfTEVOR1RIIHsKPiArICAgICAg ICAgICAgcmV0dXJuIEVycihDaWRyRXJyb3I6OkludmFsaWROZXRtYXNrKTsKPiArICAgICAgICB9 Cj4gKwo+ICsgICAgICAgIE9rKFNlbGYgewo+ICsgICAgICAgICAgICBhZGRyOiBhZGRyLmludG8o KSwKPiArICAgICAgICAgICAgbWFzaywKPiArICAgICAgICB9KQo+ICsgICAgfQo+ICsKPiArICAg IC8vLyBjaGVja3Mgd2hldGhlciB0aGlzIENJRFIgY29udGFpbnMgYSBnaXZlbiBJUHY2IGFkZHJl c3MKPiArICAgIHB1YiBmbiBjb250YWluc19hZGRyZXNzKCZzZWxmLCBvdGhlcjogJklwdjZBZGRy KSAtPiBib29sIHsKPiArICAgICAgICBsZXQgYml0cyA9IHUxMjg6OmZyb21fYmVfYnl0ZXMoc2Vs Zi5hZGRyLm9jdGV0cygpKTsKPiArICAgICAgICBsZXQgb3RoZXJfYml0cyA9IHUxMjg6OmZyb21f YmVfYnl0ZXMob3RoZXIub2N0ZXRzKCkpOwo+ICsKPiArICAgICAgICBsZXQgc2hpZnRfYW1vdW50 OiB1MzIgPSBJUFY2X0xFTkdUSC5zYXR1cmF0aW5nX3N1YihzZWxmLm1hc2spLmludG8oKTsKPiAr Cj4gKyAgICAgICAgYml0cy5jaGVja2VkX3NocihzaGlmdF9hbW91bnQpLnVud3JhcF9vcigwKQo+ ICsgICAgICAgICAgICA9PSBvdGhlcl9iaXRzLmNoZWNrZWRfc2hyKHNoaWZ0X2Ftb3VudCkudW53 cmFwX29yKDApCj4gKyAgICB9Cj4gKwo+ICsgICAgcHViIGZuIGFkZHJlc3MoJnNlbGYpIC0+ICZJ cHY2QWRkciB7Cj4gKyAgICAgICAgJnNlbGYuYWRkcgo+ICsgICAgfQo+ICsKPiArICAgIHB1YiBm biBtYXNrKCZzZWxmKSAtPiB1OCB7Cj4gKyAgICAgICAgc2VsZi5tYXNrCj4gKyAgICB9Cj4gK30K PiArCj4gK2ltcGwgc3RkOjpzdHI6OkZyb21TdHIgZm9yIElwdjZDaWRyIHsKPiArICAgIHR5cGUg RXJyID0gQ2lkckVycm9yOwo+ICsKPiArICAgIGZuIGZyb21fc3RyKHM6ICZzdHIpIC0+IFJlc3Vs dDxTZWxmLCBTZWxmOjpFcnI+IHsKPiArICAgICAgICBPayhtYXRjaCBzLmZpbmQoJy8nKSB7Cj4g KyAgICAgICAgICAgIE5vbmUgPT4gU2VsZiB7Cj4gKyAgICAgICAgICAgICAgICBhZGRyOiBzLnBh cnNlKCk/LAo+ICsgICAgICAgICAgICAgICAgbWFzazogMTI4LAo+ICsgICAgICAgICAgICB9LAo+ ICsgICAgICAgICAgICBTb21lKHBvcykgPT4gewo+ICsgICAgICAgICAgICAgICAgbGV0IG1hc2s6 IHU4ID0gc1socG9zICsgMSkuLl0KPiArICAgICAgICAgICAgICAgICAgICAucGFyc2UoKQo+ICsg ICAgICAgICAgICAgICAgICAgIC5tYXBfZXJyKHxffCBDaWRyRXJyb3I6OkludmFsaWROZXRtYXNr KT87Cj4gKwo+ICsgICAgICAgICAgICAgICAgU2VsZjo6bmV3KHNbLi5wb3NdLnBhcnNlOjo8SXB2 NkFkZHI+KCk/LCBtYXNrKT8KPiArICAgICAgICAgICAgfQo+ICsgICAgICAgIH0pCj4gKyAgICB9 Cj4gK30KPiArCj4gK2ltcGwgc3RkOjpmbXQ6OkRpc3BsYXkgZm9yIElwdjZDaWRyIHsKPiArICAg IGZuIGZtdCgmc2VsZiwgZjogJm11dCBzdGQ6OmZtdDo6Rm9ybWF0dGVyKSAtPiBzdGQ6OmZtdDo6 UmVzdWx0IHsKPiArICAgICAgICB3cml0ZSEoZiwgInt9L3t9IiwgJnNlbGYuYWRkciwgc2VsZi5t YXNrKQo+ICsgICAgfQo+ICt9Cj4gKwo+ICtpbXBsPFQ6IEludG88SXB2NkFkZHI+PiBGcm9tPFQ+ IGZvciBJcHY2Q2lkciB7Cj4gKyAgICBmbiBmcm9tKGFkZHI6IFQpIC0+IFNlbGYgewo+ICsgICAg ICAgIFNlbGYgewo+ICsgICAgICAgICAgICBhZGRyOiBhZGRyLmludG8oKSwKPiArICAgICAgICAg ICAgbWFzazogMTI4LAo+ICsgICAgICAgIH0KPiArICAgIH0KPiArfQo+ICsKPiArI1tkZXJpdmUo Q2xvbmUsIENvcHksIERlYnVnLCBQYXJ0aWFsT3JkLCBPcmQsIFBhcnRpYWxFcSwgRXEsIEhhc2gs IEVycm9yKV0KPiArcHViIGVudW0gSXBSYW5nZUVycm9yIHsKPiArICAgICNbZXJyb3IoIm1pc21h dGNoZWQgaXAgYWRkcmVzcyBmYW1pbGllcyIpXQo+ICsgICAgTWlzbWF0Y2hlZEZhbWlsaWVzLAo+ ICsgICAgI1tlcnJvcigic3RhcnQgaXMgZ3JlYXRlciB0aGFuIGxhc3QiKV0KPiArICAgIFN0YXJ0 R3JlYXRlclRoYW5MYXN0LAo+ICsgICAgI1tlcnJvcigiaW52YWxpZCBpcCByYW5nZSBmb3JtYXQi KV0KPiArICAgIEludmFsaWRGb3JtYXQsCj4gK30KPiArCj4gKy8vLyBSZXByZXNlbnRzIGEgcmFu Z2Ugb2YgSVB2NCBvciBJUHY2IGFkZHJlc3Nlcy4KPiArLy8vCj4gKy8vLyBGb3IgbW9yZSBpbmZv cm1hdGlvbiBzZWUgW2BBZGRyZXNzUmFuZ2VgXQo+ICsjW2Rlcml2ZSgKPiArICAgIENsb25lLCBE ZWJ1ZywgUGFydGlhbEVxLCBFcSwgSGFzaCwgUGFydGlhbE9yZCwgT3JkLCBTZXJpYWxpemVEaXNw bGF5LCBEZXNlcmlhbGl6ZUZyb21TdHIsCj4gKyldCj4gK3B1YiBlbnVtIElwUmFuZ2Ugewo+ICsg ICAgVjQoQWRkcmVzc1JhbmdlPElwdjRBZGRyPiksCj4gKyAgICBWNihBZGRyZXNzUmFuZ2U8SXB2 NkFkZHI+KSwKPiArfQo+ICsKPiAraW1wbCBJcFJhbmdlIHsKPiArICAgIC8vLyBSZXR1cm5zIHRo ZSBmYW1pbHkgb2YgdGhlIElwUmFuZ2UuCj4gKyAgICBwdWIgZm4gZmFtaWx5KCZzZWxmKSAtPiBG YW1pbHkgewo+ICsgICAgICAgIG1hdGNoIHNlbGYgewo+ICsgICAgICAgICAgICBJcFJhbmdlOjpW NChfKSA9PiBGYW1pbHk6OlY0LAo+ICsgICAgICAgICAgICBJcFJhbmdlOjpWNihfKSA9PiBGYW1p bHk6OlY2LAo+ICsgICAgICAgIH0KPiArICAgIH0KPiArCj4gKyAgICAvLy8gQ3JlYXRlcyBhIG5l dyBbYElwUmFuZ2VgXSBmcm9tIHR3byBbYElwQWRkcmBdLgo+ICsgICAgLy8vCj4gKyAgICAvLy8g IyBFcnJvcnMKPiArICAgIC8vLwo+ICsgICAgLy8vIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4g YW4gZXJyb3IgaWYgc3RhcnQgYW5kIGxhc3QgSVAgYWRkcmVzcyBhcmUgbm90IGZyb20gdGhlIHNh bWUgZmFtaWx5Lgo+ICsgICAgcHViIGZuIG5ldyhzdGFydDogaW1wbCBJbnRvPElwQWRkcj4sIGxh c3Q6IGltcGwgSW50bzxJcEFkZHI+KSAtPiBSZXN1bHQ8U2VsZiwgSXBSYW5nZUVycm9yPiB7Cj4g KyAgICAgICAgbWF0Y2ggKHN0YXJ0LmludG8oKSwgbGFzdC5pbnRvKCkpIHsKPiArICAgICAgICAg ICAgKElwQWRkcjo6VjQoc3RhcnQpLCBJcEFkZHI6OlY0KGxhc3QpKSA9PiBTZWxmOjpuZXdfdjQo c3RhcnQsIGxhc3QpLAo+ICsgICAgICAgICAgICAoSXBBZGRyOjpWNihzdGFydCksIElwQWRkcjo6 VjYobGFzdCkpID0+IFNlbGY6Om5ld192NihzdGFydCwgbGFzdCksCj4gKyAgICAgICAgICAgIF8g PT4gRXJyKElwUmFuZ2VFcnJvcjo6TWlzbWF0Y2hlZEZhbWlsaWVzKSwKPiArICAgICAgICB9Cj4g KyAgICB9Cj4gKwo+ICsgICAgLy8vIGNvbnN0cnVjdCBhIG5ldyBJUHY0IFJhbmdlCj4gKyAgICBw dWIgZm4gbmV3X3Y0KAo+ICsgICAgICAgIHN0YXJ0OiBpbXBsIEludG88SXB2NEFkZHI+LAo+ICsg ICAgICAgIGxhc3Q6IGltcGwgSW50bzxJcHY0QWRkcj4sCj4gKyAgICApIC0+IFJlc3VsdDxTZWxm LCBJcFJhbmdlRXJyb3I+IHsKPiArICAgICAgICBPayhJcFJhbmdlOjpWNChBZGRyZXNzUmFuZ2U6 Om5ld192NChzdGFydCwgbGFzdCk/KSkKPiArICAgIH0KPiArCj4gKyAgICAvLy8gY29uc3RydWN0 IGEgbmV3IElQdjYgUmFuZ2UKPiArICAgIHB1YiBmbiBuZXdfdjYoCj4gKyAgICAgICAgc3RhcnQ6 IGltcGwgSW50bzxJcHY2QWRkcj4sCj4gKyAgICAgICAgbGFzdDogaW1wbCBJbnRvPElwdjZBZGRy PiwKPiArICAgICkgLT4gUmVzdWx0PFNlbGYsIElwUmFuZ2VFcnJvcj4gewo+ICsgICAgICAgIE9r KElwUmFuZ2U6OlY2KEFkZHJlc3NSYW5nZTo6bmV3X3Y2KHN0YXJ0LCBsYXN0KT8pKQo+ICsgICAg fQo+ICsKPiArICAgIC8vLyBDb252ZXJ0cyBhbiBJcFJhbmdlIGludG8gdGhlIG1pbmltYWwgYW1v dW50IG9mIENJRFJzLgo+ICsgICAgLy8vCj4gKyAgICAvLy8gc2VlIHRoZSBjb25jcmV0ZSBpbXBs ZW1lbnRhdGlvbnMgb2YgW2BBZGRyZXNzUmFuZ2U8SXB2NEFkZHI+YF0gb3IgW2BBZGRyZXNzUmFu Z2U8SXB2NkFkZHI+YF0KPiArICAgIC8vLyByZXNwZWN0aXZlbHkKPiArICAgIHB1YiBmbiB0b19j aWRycygmc2VsZikgLT4gVmVjPENpZHI+IHsKPiArICAgICAgICBtYXRjaCBzZWxmIHsKPiArICAg ICAgICAgICAgSXBSYW5nZTo6VjQocmFuZ2UpID0+IHJhbmdlLnRvX2NpZHJzKCkuaW50b19pdGVy KCkubWFwKENpZHI6OmZyb20pLmNvbGxlY3QoKSwKPiArICAgICAgICAgICAgSXBSYW5nZTo6VjYo cmFuZ2UpID0+IHJhbmdlLnRvX2NpZHJzKCkuaW50b19pdGVyKCkubWFwKENpZHI6OmZyb20pLmNv bGxlY3QoKSwKPiArICAgICAgICB9Cj4gKyAgICB9Cj4gK30KPiArCj4gK2ltcGwgc3RkOjpzdHI6 OkZyb21TdHIgZm9yIElwUmFuZ2Ugewo+ICsgICAgdHlwZSBFcnIgPSBJcFJhbmdlRXJyb3I7Cj4g Kwo+ICsgICAgZm4gZnJvbV9zdHIoczogJnN0cikgLT4gUmVzdWx0PFNlbGYsIFNlbGY6OkVycj4g ewo+ICsgICAgICAgIGlmIGxldCBPayhyYW5nZSkgPSBzLnBhcnNlKCkgewo+ICsgICAgICAgICAg ICByZXR1cm4gT2soSXBSYW5nZTo6VjQocmFuZ2UpKTsKPiArICAgICAgICB9Cj4gKwo+ICsgICAg ICAgIGlmIGxldCBPayhyYW5nZSkgPSBzLnBhcnNlKCkgewo+ICsgICAgICAgICAgICByZXR1cm4g T2soSXBSYW5nZTo6VjYocmFuZ2UpKTsKPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgIEVycihJ cFJhbmdlRXJyb3I6OkludmFsaWRGb3JtYXQpCj4gKyAgICB9Cj4gK30KPiArCj4gK2ltcGwgc3Rk OjpmbXQ6OkRpc3BsYXkgZm9yIElwUmFuZ2Ugewo+ICsgICAgZm4gZm10KCZzZWxmLCBmOiAmbXV0 IHN0ZDo6Zm10OjpGb3JtYXR0ZXI8J18+KSAtPiBzdGQ6OmZtdDo6UmVzdWx0IHsKPiArICAgICAg ICBtYXRjaCBzZWxmIHsKPiArICAgICAgICAgICAgSXBSYW5nZTo6VjQocmFuZ2UpID0+IHJhbmdl LmZtdChmKSwKPiArICAgICAgICAgICAgSXBSYW5nZTo6VjYocmFuZ2UpID0+IHJhbmdlLmZtdChm KSwKPiArICAgICAgICB9Cj4gKyAgICB9Cj4gK30KPiArCj4gKy8vLyBSZXByZXNlbnRzIGEgcmFu Z2Ugb2YgSVAgYWRkcmVzc2VzIGZyb20gc3RhcnQgdG8gbGFzdC4KPiArLy8vCj4gKy8vLyBUaGlz IHR5cGUgaXMgZm9yIGVuY2Fwc3VsYXRpb24gcHVycG9zZXMgZm9yIHRoZSBbYElwUmFuZ2VgXSBl bnVtIGFuZCBzaG91bGQgYmUgaW5zdGFudGlhdGVkIHZpYQo+ICsvLy8gdGhhdCBlbnVtLgo+ICsv Ly8KPiArLy8vICMgSW52YXJpYW50cwo+ICsvLy8KPiArLy8vICogc3RhcnQgYW5kIGxhc3QgaGF2 ZSB0aGUgc2FtZSBJUCBhZGRyZXNzIGZhbWlseQo+ICsvLy8gKiBzdGFydCBpcyBsZXNzIHRoYW4g b3IgZXF1YWwgdG8gbGFzdAo+ICsvLy8KPiArLy8vICMgVGV4dHVhbCByZXByZXNlbnRhdGlvbgo+ ICsvLy8KPiArLy8vIFR3byBJUCBhZGRyZXNzZXMgc2VwYXJhdGVkIGJ5IGEgaHlwaGVuLCBlLmcu OiBgMTI3LjAuMC4xLTEyNy4wLjAuMjU1YAo+ICsjW2Rlcml2ZSgKPiArICAgIENsb25lLCBEZWJ1 ZywgUGFydGlhbEVxLCBFcSwgSGFzaCwgUGFydGlhbE9yZCwgT3JkLCBTZXJpYWxpemVEaXNwbGF5 LCBEZXNlcmlhbGl6ZUZyb21TdHIsCj4gKyldCj4gK3B1YiBzdHJ1Y3QgQWRkcmVzc1JhbmdlPFQ+ IHsKPiArICAgIHN0YXJ0OiBULAo+ICsgICAgbGFzdDogVCwKPiArfQo+ICsKPiAraW1wbCBBZGRy ZXNzUmFuZ2U8SXB2NEFkZHI+IHsKPiArICAgIHB1YihjcmF0ZSkgZm4gbmV3X3Y0KAo+ICsgICAg ICAgIHN0YXJ0OiBpbXBsIEludG88SXB2NEFkZHI+LAo+ICsgICAgICAgIGxhc3Q6IGltcGwgSW50 bzxJcHY0QWRkcj4sCj4gKyAgICApIC0+IFJlc3VsdDxBZGRyZXNzUmFuZ2U8SXB2NEFkZHI+LCBJ cFJhbmdlRXJyb3I+IHsKPiArICAgICAgICBsZXQgKHN0YXJ0LCBsYXN0KSA9IChzdGFydC5pbnRv KCksIGxhc3QuaW50bygpKTsKPiArCj4gKyAgICAgICAgaWYgc3RhcnQgPiBsYXN0IHsKPiArICAg ICAgICAgICAgcmV0dXJuIEVycihJcFJhbmdlRXJyb3I6OlN0YXJ0R3JlYXRlclRoYW5MYXN0KTsK PiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgIE9rKFNlbGYgeyBzdGFydCwgbGFzdCB9KQo+ICsg ICAgfQo+ICsKPiArICAgIC8vLyBSZXR1cm5zIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBDSURScyB0 aGF0IGV4YWN0bHkgcmVwcmVzZW50IHRoZSByYW5nZQo+ICsgICAgLy8vCj4gKyAgICAvLy8gVGhl IGlkZWEgYmVoaW5kIHRoaXMgYWxnb3JpdGhtIGlzIGFzIGZvbGxvd3M6Cj4gKyAgICAvLy8KPiAr ICAgIC8vLyBTdGFydCBpdGVyYXRpbmcgd2l0aCBjdXJyZW50ID0gc3RhcnQgb2YgdGhlIElQIHJh bmdlCj4gKyAgICAvLy8KPiArICAgIC8vLyBGaW5kIHR3byBuZXRtYXNrcwo+ICsgICAgLy8vICog VGhlIGxhcmdlc3QgQ0lEUiB0aGF0IHRoZSBjdXJyZW50IElQIGNhbiBiZSB0aGUgZmlyc3Qgb2YK PiArICAgIC8vLyAqIFRoZSBsYXJnZXN0IENJRFIgdGhhdCAqb25seSogY29udGFpbnMgSVBzIGZy b20gY3VycmVudCAtIGxhc3QKPiArICAgIC8vLwo+ICsgICAgLy8vIEFkZCB0aGUgc21hbGxlciBv ZiB0aGUgdHdvIENJRFJzIHRvIG91ciByZXN1bHQgYW5kIGN1cnJlbnQgdG8gdGhlIGZpcnN0IElQ IHRoYXQgaXMgaW4KPiArICAgIC8vLyB0aGUgcmFuZ2UgYnV0IG5vdCBpbiB0aGUgQ0lEUiB3ZSBq dXN0IGFkZGVkLiBQcm9jZWVkIHVudGlsIHdlIHJlYWNoZWQgdGhlIGxhc3Qgb2YgdGhlIElQCj4g KyAgICAvLy8gcmFuZ2UuCj4gKyAgICAvLy8KPiArICAgIHB1YiBmbiB0b19jaWRycygmc2VsZikg LT4gVmVjPElwdjRDaWRyPiB7Cj4gKyAgICAgICAgbGV0IG11dCBjaWRycyA9IFZlYzo6bmV3KCk7 Cj4gKwo+ICsgICAgICAgIGxldCBtdXQgY3VycmVudCA9IHUzMjo6ZnJvbV9iZV9ieXRlcyhzZWxm LnN0YXJ0Lm9jdGV0cygpKTsKPiArICAgICAgICBsZXQgbGFzdCA9IHUzMjo6ZnJvbV9iZV9ieXRl cyhzZWxmLmxhc3Qub2N0ZXRzKCkpOwo+ICsKPiArICAgICAgICBpZiBjdXJyZW50ID09IGxhc3Qg ewo+ICsgICAgICAgICAgICAvLyB2YWxpZCBJcHY0IHNpbmNlIG5ldG1hc2sgaXMgMzIKPiArICAg ICAgICAgICAgY2lkcnMucHVzaChJcHY0Q2lkcjo6bmV3KGN1cnJlbnQsIDMyKS51bndyYXAoKSk7 Cj4gKyAgICAgICAgICAgIHJldHVybiBjaWRyczsKPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAg IC8vIHNwZWNpYWwgY2FzZSB0aGlzLCBzaW5jZSB0aGlzIGlzIHRoZSBvbmx5IHBvc3NpYmlsaXR5 IG9mIG92ZXJmbG93Cj4gKyAgICAgICAgLy8gd2hlbiBjYWxjdWxhdGluZyBkZWx0YV9taW5fbWFz ayAtIG1ha2VzIGV2ZXJ5dGhpbmcgYSBsb3QgZWFzaWVyCj4gKyAgICAgICAgaWYgY3VycmVudCA9 PSB1MzI6Ok1JTiAmJiBsYXN0ID09IHUzMjo6TUFYIHsKPiArICAgICAgICAgICAgLy8gdmFsaWQg SXB2NCBzaW5jZSBpdCBpcyBgMC4wLjAuMC8wYAo+ICsgICAgICAgICAgICBjaWRycy5wdXNoKElw djRDaWRyOjpuZXcoY3VycmVudCwgMCkudW53cmFwKCkpOwo+ICsgICAgICAgICAgICByZXR1cm4g Y2lkcnM7Cj4gKyAgICAgICAgfQo+ICsKPiArICAgICAgICB3aGlsZSBjdXJyZW50IDw9IGxhc3Qg ewo+ICsgICAgICAgICAgICAvLyBuZXRtYXNrIG9mIGxhcmdlc3QgQ0lEUiB0aGF0IGN1cnJlbnQg SVAgY2FuIGJlIHRoZSBmaXJzdCBvZgo+ICsgICAgICAgICAgICAvLyBjYXN0IGlzIHNhZmUsIGJl Y2F1c2UgdHJhaWxpbmcgemVyb2VzIGNhbiBhdCBtb3N0IGJlIDMyCj4gKyAgICAgICAgICAgIGxl dCBjdXJyZW50X21heF9tYXNrID0gSVBWNF9MRU5HVEggLSAoY3VycmVudC50cmFpbGluZ196ZXJv cygpIGFzIHU4KTsKPiArCj4gKyAgICAgICAgICAgIC8vIG5ldG1hc2sgb2YgbGFyZ2VzdCBDSURS IHRoYXQgKm9ubHkqIGNvbnRhaW5zIElQcyBvZiB0aGUgcmVtYWluaW5nIHJhbmdlCj4gKyAgICAg ICAgICAgIC8vIGlzIGF0IG1vc3QgMzIgZHVlIHRvIHVud3JhcF9vciByZXR1cm5pbmcgMzIgYW5k IGlsb2cyIGJlaW5nIGF0IG1vc3QgMzEKPiArICAgICAgICAgICAgbGV0IGRlbHRhX21pbl9tYXNr ID0gKChsYXN0IC0gY3VycmVudCkgKyAxKSAvLyBzYWZlIGR1ZSB0byBzcGVjaWFsIGNhc2UgYWJv dmUKPiArICAgICAgICAgICAgICAgIC5jaGVja2VkX2lsb2cyKCkgLy8gc2hvdWxkIG5ldmVyIG9j Y3VyIGR1ZSB0byBzcGVjaWFsIGNhc2UsIGJ1dCBmb3IgZ29vZCBtZWFzdXJlCj4gKyAgICAgICAg ICAgICAgICAubWFwKHxtYXNrfCBJUFY0X0xFTkdUSCAtIG1hc2sgYXMgdTgpCj4gKyAgICAgICAg ICAgICAgICAudW53cmFwX29yKElQVjRfTEVOR1RIKTsKPiArCj4gKyAgICAgICAgICAgIC8vIGF0 IG1vc3QgMzIsIGR1ZSB0byBjdXJyZW50L2RlbHRhIGJlaW5nIGF0IG1vc3QgMzIKPiArICAgICAg ICAgICAgbGV0IG5ldG1hc2sgPSB1ODo6bWF4KGN1cnJlbnRfbWF4X21hc2ssIGRlbHRhX21pbl9t YXNrKTsKPiArCj4gKyAgICAgICAgICAgIC8vIG5ldG1hc2sgaXMgYXQgbW9zdCAzMiwgdGhlcmVm b3JlIHNhZmUgdG8gdW53cmFwCj4gKyAgICAgICAgICAgIGNpZHJzLnB1c2goSXB2NENpZHI6Om5l dyhjdXJyZW50LCBuZXRtYXNrKS51bndyYXAoKSk7Cj4gKwo+ICsgICAgICAgICAgICBsZXQgZGVs dGEgPSAydTMyLnNhdHVyYXRpbmdfcG93KChJUFY0X0xFTkdUSCAtIG5ldG1hc2spLmludG8oKSk7 Cj4gKwo+ICsgICAgICAgICAgICBpZiBsZXQgU29tZShyZXN1bHQpID0gY3VycmVudC5jaGVja2Vk X2FkZChkZWx0YSkgewo+ICsgICAgICAgICAgICAgICAgY3VycmVudCA9IHJlc3VsdAo+ICsgICAg ICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAgICAgICAgLy8gd2UgcmVhY2hlZCB0aGUgZW5k IG9mIElQIGFkZHJlc3Mgc3BhY2UKPiArICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAg ICAgICB9Cj4gKyAgICAgICAgfQo+ICsKPiArICAgICAgICBjaWRycwo+ICsgICAgfQo+ICt9Cj4g Kwo+ICtpbXBsIEFkZHJlc3NSYW5nZTxJcHY2QWRkcj4gewo+ICsgICAgcHViKGNyYXRlKSBmbiBu ZXdfdjYoCj4gKyAgICAgICAgc3RhcnQ6IGltcGwgSW50bzxJcHY2QWRkcj4sCj4gKyAgICAgICAg bGFzdDogaW1wbCBJbnRvPElwdjZBZGRyPiwKPiArICAgICkgLT4gUmVzdWx0PEFkZHJlc3NSYW5n ZTxJcHY2QWRkcj4sIElwUmFuZ2VFcnJvcj4gewo+ICsgICAgICAgIGxldCAoc3RhcnQsIGxhc3Qp ID0gKHN0YXJ0LmludG8oKSwgbGFzdC5pbnRvKCkpOwo+ICsKPiArICAgICAgICBpZiBzdGFydCA+ IGxhc3Qgewo+ICsgICAgICAgICAgICByZXR1cm4gRXJyKElwUmFuZ2VFcnJvcjo6U3RhcnRHcmVh dGVyVGhhbkxhc3QpOwo+ICsgICAgICAgIH0KPiArCj4gKyAgICAgICAgT2soU2VsZiB7IHN0YXJ0 LCBsYXN0IH0pCj4gKyAgICB9Cj4gKwo+ICsgICAgLy8vIFJldHVybnMgdGhlIG1pbmltdW0gYW1v dW50IG9mIENJRFJzIHRoYXQgZXhhY3RseSByZXByZXNlbnQgdGhlIFtgQWRkcmVzc1JhbmdlYF0u Cj4gKyAgICAvLy8KPiArICAgIC8vLyBUaGlzIGZ1bmN0aW9uIHdvcmtzIGFuYWxvZ291cyB0byB0 aGUgSVB2NCB2ZXJzaW9uLCBwbGVhc2UgcmVmZXIgdG8gdGhlIHJlc3BlY3RpdmUKPiArICAgIC8v LyBkb2N1bWVudGF0aW9uIG9mIFtgQWRkcmVzc1JhbmdlPElwdjRBZGRyPmBdCj4gKyAgICBwdWIg Zm4gdG9fY2lkcnMoJnNlbGYpIC0+IFZlYzxJcHY2Q2lkcj4gewo+ICsgICAgICAgIGxldCBtdXQg Y2lkcnMgPSBWZWM6Om5ldygpOwo+ICsKPiArICAgICAgICBsZXQgbXV0IGN1cnJlbnQgPSB1MTI4 Ojpmcm9tX2JlX2J5dGVzKHNlbGYuc3RhcnQub2N0ZXRzKCkpOwo+ICsgICAgICAgIGxldCBsYXN0 ID0gdTEyODo6ZnJvbV9iZV9ieXRlcyhzZWxmLmxhc3Qub2N0ZXRzKCkpOwo+ICsKPiArICAgICAg ICBpZiBjdXJyZW50ID09IGxhc3Qgewo+ICsgICAgICAgICAgICAvLyB2YWxpZCBJcHY2IHNpbmNl IG5ldG1hc2sgaXMgMTI4Cj4gKyAgICAgICAgICAgIGNpZHJzLnB1c2goSXB2NkNpZHI6Om5ldyhj dXJyZW50LCAxMjgpLnVud3JhcCgpKTsKPiArICAgICAgICAgICAgcmV0dXJuIGNpZHJzOwo+ICsg ICAgICAgIH0KPiArCj4gKyAgICAgICAgLy8gc3BlY2lhbCBjYXNlIHRoaXMsIHNpbmNlIHRoaXMg aXMgdGhlIG9ubHkgcG9zc2liaWxpdHkgb2Ygb3ZlcmZsb3cKPiArICAgICAgICAvLyB3aGVuIGNh bGN1bGF0aW5nIGRlbHRhX21pbl9tYXNrIC0gbWFrZXMgZXZlcnl0aGluZyBhIGxvdCBlYXNpZXIK PiArICAgICAgICBpZiBjdXJyZW50ID09IHUxMjg6Ok1JTiAmJiBsYXN0ID09IHUxMjg6Ok1BWCB7 Cj4gKyAgICAgICAgICAgIC8vIHZhbGlkIElwdjYgc2luY2UgaXQgaXMgYDo6LzBgCj4gKyAgICAg ICAgICAgIGNpZHJzLnB1c2goSXB2NkNpZHI6Om5ldyhjdXJyZW50LCAwKS51bndyYXAoKSk7Cj4g KyAgICAgICAgICAgIHJldHVybiBjaWRyczsKPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgIHdo aWxlIGN1cnJlbnQgPD0gbGFzdCB7Cj4gKyAgICAgICAgICAgIC8vIG5ldG1hc2sgb2YgbGFyZ2Vz dCBDSURSIHRoYXQgY3VycmVudCBJUCBjYW4gYmUgdGhlIGZpcnN0IG9mCj4gKyAgICAgICAgICAg IC8vIGNhc3QgaXMgc2FmZSwgYmVjYXVzZSB0cmFpbGluZyB6ZXJvZXMgY2FuIGF0IG1vc3QgYmUg MTI4Cj4gKyAgICAgICAgICAgIGxldCBjdXJyZW50X21heF9tYXNrID0gSVBWNl9MRU5HVEggLSAo Y3VycmVudC50cmFpbGluZ196ZXJvcygpIGFzIHU4KTsKPiArCj4gKyAgICAgICAgICAgIC8vIG5l dG1hc2sgb2YgbGFyZ2VzdCBDSURSIHRoYXQgKm9ubHkqIGNvbnRhaW5zIElQcyBvZiB0aGUgcmVt YWluaW5nIHJhbmdlCj4gKyAgICAgICAgICAgIC8vIGlzIGF0IG1vc3QgMTI4IGR1ZSB0byB1bndy YXBfb3IgcmV0dXJuaW5nIDEyOCBhbmQgaWxvZzIgYmVpbmcgYXQgbW9zdCAzMQo+ICsgICAgICAg ICAgICBsZXQgZGVsdGFfbWluX21hc2sgPSAoKGxhc3QgLSBjdXJyZW50KSArIDEpIC8vIHNhZmUg ZHVlIHRvIHNwZWNpYWwgY2FzZSBhYm92ZQo+ICsgICAgICAgICAgICAgICAgLmNoZWNrZWRfaWxv ZzIoKSAvLyBzaG91bGQgbmV2ZXIgb2NjdXIgZHVlIHRvIHNwZWNpYWwgY2FzZSwgYnV0IGZvciBn b29kIG1lYXN1cmUKPiArICAgICAgICAgICAgICAgIC5tYXAofG1hc2t8IElQVjZfTEVOR1RIIC0g bWFzayBhcyB1OCkKPiArICAgICAgICAgICAgICAgIC51bndyYXBfb3IoSVBWNl9MRU5HVEgpOwo+ ICsKPiArICAgICAgICAgICAgLy8gYXQgbW9zdCAxMjgsIGR1ZSB0byBjdXJyZW50L2RlbHRhIGJl aW5nIGF0IG1vc3QgMTI4Cj4gKyAgICAgICAgICAgIGxldCBuZXRtYXNrID0gdTg6Om1heChjdXJy ZW50X21heF9tYXNrLCBkZWx0YV9taW5fbWFzayk7Cj4gKwo+ICsgICAgICAgICAgICAvLyBuZXRt YXNrIGlzIGF0IG1vc3QgMTI4LCB0aGVyZWZvcmUgc2FmZSB0byB1bndyYXAKPiArICAgICAgICAg ICAgY2lkcnMucHVzaChJcHY2Q2lkcjo6bmV3KGN1cnJlbnQsIG5ldG1hc2spLnVud3JhcCgpKTsK PiArCj4gKyAgICAgICAgICAgIGxldCBkZWx0YSA9IDJ1MTI4LnNhdHVyYXRpbmdfcG93KChJUFY2 X0xFTkdUSCAtIG5ldG1hc2spLmludG8oKSk7Cj4gKwo+ICsgICAgICAgICAgICBpZiBsZXQgU29t ZShyZXN1bHQpID0gY3VycmVudC5jaGVja2VkX2FkZChkZWx0YSkgewo+ICsgICAgICAgICAgICAg ICAgY3VycmVudCA9IHJlc3VsdAo+ICsgICAgICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAg ICAgICAgLy8gd2UgcmVhY2hlZCB0aGUgZW5kIG9mIElQIGFkZHJlc3Mgc3BhY2UKPiArICAgICAg ICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICB9Cj4gKyAgICAgICAgfQo+ICsKPiArICAg ICAgICBjaWRycwo+ICsgICAgfQo+ICt9Cj4gKwo+ICtpbXBsPFQ+IEFkZHJlc3NSYW5nZTxUPiB7 Cj4gKyAgICAvLy8gdGhlIGZpcnN0IElQIGFkZHJlc3MgY29udGFpbmVkIGluIHRoaXMgW2BBZGRy ZXNzUmFuZ2VgXQo+ICsgICAgcHViIGZuIHN0YXJ0KCZzZWxmKSAtPiAmVCB7Cj4gKyAgICAgICAg JnNlbGYuc3RhcnQKPiArICAgIH0KPiArCj4gKyAgICAvLy8gdGhlIGxhc3QgSVAgYWRkcmVzcyBj b250YWluZWQgaW4gdGhpcyBbYEFkZHJlc3NSYW5nZWBdCj4gKyAgICBwdWIgZm4gbGFzdCgmc2Vs ZikgLT4gJlQgewo+ICsgICAgICAgICZzZWxmLmxhc3QKPiArICAgIH0KPiArfQo+ICsKPiAraW1w bCBzdGQ6OnN0cjo6RnJvbVN0ciBmb3IgQWRkcmVzc1JhbmdlPElwdjRBZGRyPiB7Cj4gKyAgICB0 eXBlIEVyciA9IElwUmFuZ2VFcnJvcjsKPiArCj4gKyAgICBmbiBmcm9tX3N0cihzOiAmc3RyKSAt PiBSZXN1bHQ8U2VsZiwgU2VsZjo6RXJyPiB7Cj4gKyAgICAgICAgaWYgbGV0IFNvbWUoKHN0YXJ0 LCBsYXN0KSkgPSBzLnNwbGl0X29uY2UoJy0nKSB7Cj4gKyAgICAgICAgICAgIGxldCBzdGFydF9h ZGRyZXNzID0gc3RhcnQKPiArICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjRBZGRyPigpCj4g KyAgICAgICAgICAgICAgICAubWFwX2Vycih8X3wgSXBSYW5nZUVycm9yOjpJbnZhbGlkRm9ybWF0 KT87Cj4gKwo+ICsgICAgICAgICAgICBsZXQgbGFzdF9hZGRyZXNzID0gbGFzdAo+ICsgICAgICAg ICAgICAgICAgLnBhcnNlOjo8SXB2NEFkZHI+KCkKPiArICAgICAgICAgICAgICAgIC5tYXBfZXJy KHxffCBJcFJhbmdlRXJyb3I6OkludmFsaWRGb3JtYXQpPzsKPiArCj4gKyAgICAgICAgICAgIHJl dHVybiBTZWxmOjpuZXdfdjQoc3RhcnRfYWRkcmVzcywgbGFzdF9hZGRyZXNzKTsKPiArICAgICAg ICB9Cj4gKwo+ICsgICAgICAgIEVycihJcFJhbmdlRXJyb3I6OkludmFsaWRGb3JtYXQpCj4gKyAg ICB9Cj4gK30KPiArCj4gK2ltcGwgc3RkOjpzdHI6OkZyb21TdHIgZm9yIEFkZHJlc3NSYW5nZTxJ cHY2QWRkcj4gewo+ICsgICAgdHlwZSBFcnIgPSBJcFJhbmdlRXJyb3I7Cj4gKwo+ICsgICAgZm4g ZnJvbV9zdHIoczogJnN0cikgLT4gUmVzdWx0PFNlbGYsIFNlbGY6OkVycj4gewo+ICsgICAgICAg IGlmIGxldCBTb21lKChzdGFydCwgbGFzdCkpID0gcy5zcGxpdF9vbmNlKCctJykgewo+ICsgICAg ICAgICAgICBsZXQgc3RhcnRfYWRkcmVzcyA9IHN0YXJ0Cj4gKyAgICAgICAgICAgICAgICAucGFy c2U6OjxJcHY2QWRkcj4oKQo+ICsgICAgICAgICAgICAgICAgLm1hcF9lcnIofF98IElwUmFuZ2VF cnJvcjo6SW52YWxpZEZvcm1hdCk/Owo+ICsKPiArICAgICAgICAgICAgbGV0IGxhc3RfYWRkcmVz cyA9IGxhc3QKPiArICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZBZGRyPigpCj4gKyAgICAg ICAgICAgICAgICAubWFwX2Vycih8X3wgSXBSYW5nZUVycm9yOjpJbnZhbGlkRm9ybWF0KT87Cj4g Kwo+ICsgICAgICAgICAgICByZXR1cm4gU2VsZjo6bmV3X3Y2KHN0YXJ0X2FkZHJlc3MsIGxhc3Rf YWRkcmVzcyk7Cj4gKyAgICAgICAgfQo+ICsKPiArICAgICAgICBFcnIoSXBSYW5nZUVycm9yOjpJ bnZhbGlkRm9ybWF0KQo+ICsgICAgfQo+ICt9Cj4gKwo+ICtpbXBsPFQ6IHN0ZDo6Zm10OjpEaXNw bGF5PiBzdGQ6OmZtdDo6RGlzcGxheSBmb3IgQWRkcmVzc1JhbmdlPFQ+IHsKPiArICAgIGZuIGZt dCgmc2VsZiwgZjogJm11dCBzdGQ6OmZtdDo6Rm9ybWF0dGVyPCdfPikgLT4gc3RkOjpmbXQ6OlJl c3VsdCB7Cj4gKyAgICAgICAgd3JpdGUhKGYsICJ7fS17fSIsIHNlbGYuc3RhcnQsIHNlbGYubGFz dCkKPiArICAgIH0KPiArfQo+ICsKPiArI1tjZmcodGVzdCldCj4gK21vZCB0ZXN0cyB7Cj4gKyAg ICB1c2Ugc3VwZXI6Oio7Cj4gKyAgICB1c2Ugc3RkOjpuZXQ6OntJcHY0QWRkciwgSXB2NkFkZHJ9 OwoKXiBzdGQgaW1wb3J0IHNob3VsZCBiZSBncm91cGVkIGJlZnVyZSB0aGUgYHN1cGVyOjoqYCBv bmUuCgo+ICsKPiArICAgICNbdGVzdF0KPiArICAgIGZuIHRlc3RfdjRfY2lkcigpIHsKPiArICAg ICAgICBsZXQgbXV0IGNpZHI6IElwdjRDaWRyID0gIjAuMC4wLjAvMCIucGFyc2UoKS5leHBlY3Qo InZhbGlkIElQdjQgQ0lEUiIpOwo+ICsKPiArICAgICAgICBhc3NlcnRfZXEhKGNpZHIuYWRkciwg SXB2NEFkZHI6Om5ldygwLCAwLCAwLCAwKSk7Cj4gKyAgICAgICAgYXNzZXJ0X2VxIShjaWRyLm1h c2ssIDApOwo+ICsKPiArICAgICAgICBhc3NlcnQhKGNpZHIuY29udGFpbnNfYWRkcmVzcygmSXB2 NEFkZHI6Om5ldygwLCAwLCAwLCAwKSkpOwo+ICsgICAgICAgIGFzc2VydCEoY2lkci5jb250YWlu c19hZGRyZXNzKCZJcHY0QWRkcjo6bmV3KDI1NSwgMjU1LCAyNTUsIDI1NSkpKTsKPiArCj4gKyAg ICAgICAgY2lkciA9ICIxOTIuMTY4LjEwMC4xIi5wYXJzZSgpLmV4cGVjdCgidmFsaWQgSVB2NCBD SURSIik7Cj4gKwo+ICsgICAgICAgIGFzc2VydF9lcSEoY2lkci5hZGRyLCBJcHY0QWRkcjo6bmV3 KDE5MiwgMTY4LCAxMDAsIDEpKTsKPiArICAgICAgICBhc3NlcnRfZXEhKGNpZHIubWFzaywgMzIp Owo+ICsKPiArICAgICAgICBhc3NlcnQhKGNpZHIuY29udGFpbnNfYWRkcmVzcygmSXB2NEFkZHI6 Om5ldygxOTIsIDE2OCwgMTAwLCAxKSkpOwo+ICsgICAgICAgIGFzc2VydCEoIWNpZHIuY29udGFp bnNfYWRkcmVzcygmSXB2NEFkZHI6Om5ldygxOTIsIDE2OCwgMTAwLCAyKSkpOwo+ICsgICAgICAg IGFzc2VydCEoIWNpZHIuY29udGFpbnNfYWRkcmVzcygmSXB2NEFkZHI6Om5ldygxOTIsIDE2OCwg MTAwLCAwKSkpOwo+ICsKPiArICAgICAgICBjaWRyID0gIjEwLjEwMC41LjAvMjQiLnBhcnNlKCku ZXhwZWN0KCJ2YWxpZCBJUHY0IENJRFIiKTsKPiArCj4gKyAgICAgICAgYXNzZXJ0X2VxIShjaWRy Lm1hc2ssIDI0KTsKPiArCj4gKyAgICAgICAgYXNzZXJ0IShjaWRyLmNvbnRhaW5zX2FkZHJlc3Mo JklwdjRBZGRyOjpuZXcoMTAsIDEwMCwgNSwgMCkpKTsKPiArICAgICAgICBhc3NlcnQhKGNpZHIu Y29udGFpbnNfYWRkcmVzcygmSXB2NEFkZHI6Om5ldygxMCwgMTAwLCA1LCAxKSkpOwo+ICsgICAg ICAgIGFzc2VydCEoY2lkci5jb250YWluc19hZGRyZXNzKCZJcHY0QWRkcjo6bmV3KDEwLCAxMDAs IDUsIDEwMCkpKTsKPiArICAgICAgICBhc3NlcnQhKGNpZHIuY29udGFpbnNfYWRkcmVzcygmSXB2 NEFkZHI6Om5ldygxMCwgMTAwLCA1LCAyNTUpKSk7Cj4gKyAgICAgICAgYXNzZXJ0ISghY2lkci5j b250YWluc19hZGRyZXNzKCZJcHY0QWRkcjo6bmV3KDEwLCAxMDAsIDQsIDI1NSkpKTsKPiArICAg ICAgICBhc3NlcnQhKCFjaWRyLmNvbnRhaW5zX2FkZHJlc3MoJklwdjRBZGRyOjpuZXcoMTAsIDEw MCwgNiwgMCkpKTsKPiArCj4gKyAgICAgICAgIjAuMC4wLjAvLTEiLnBhcnNlOjo8SXB2NENpZHI+ KCkudW53cmFwX2VycigpOwo+ICsgICAgICAgICIwLjAuMC4wLzMzIi5wYXJzZTo6PElwdjRDaWRy PigpLnVud3JhcF9lcnIoKTsKPiArICAgICAgICAiMjU2LjI1Ni4yNTYuMjU2LzEwIi5wYXJzZTo6 PElwdjRDaWRyPigpLnVud3JhcF9lcnIoKTsKPiArCj4gKyAgICAgICAgImZlODA6OjEvNjQiLnBh cnNlOjo8SXB2NENpZHI+KCkudW53cmFwX2VycigpOwo+ICsgICAgICAgICJxd2Vhc2QiLnBhcnNl Ojo8SXB2NENpZHI+KCkudW53cmFwX2VycigpOwo+ICsgICAgICAgICIiLnBhcnNlOjo8SXB2NENp ZHI+KCkudW53cmFwX2VycigpOwo+ICsgICAgfQo+ICsKPiArICAgICNbdGVzdF0KPiArICAgIGZu IHRlc3RfdjZfY2lkcigpIHsKPiArICAgICAgICBsZXQgbXV0IGNpZHI6IElwdjZDaWRyID0gImFi YWI6OjEvNjQiLnBhcnNlKCkuZXhwZWN0KCJ2YWxpZCBJUHY2IENJRFIiKTsKPiArCj4gKyAgICAg ICAgYXNzZXJ0X2VxIShjaWRyLmFkZHIsIElwdjZBZGRyOjpuZXcoMHhBQkFCLCAwLCAwLCAwLCAw LCAwLCAwLCAxKSk7Cj4gKyAgICAgICAgYXNzZXJ0X2VxIShjaWRyLm1hc2ssIDY0KTsKPiArCj4g KyAgICAgICAgYXNzZXJ0IShjaWRyLmNvbnRhaW5zX2FkZHJlc3MoJklwdjZBZGRyOjpuZXcoMHhB QkFCLCAwLCAwLCAwLCAwLCAwLCAwLCAwKSkpOwo+ICsgICAgICAgIGFzc2VydCEoY2lkci5jb250 YWluc19hZGRyZXNzKCZJcHY2QWRkcjo6bmV3KAo+ICsgICAgICAgICAgICAweEFCQUIsIDAsIDAs IDAsIDB4QUFBQSwgMHhBQUFBLCAweEFBQUEsIDB4QUFBQQo+ICsgICAgICAgICkpKTsKPiArICAg ICAgICBhc3NlcnQhKGNpZHIuY29udGFpbnNfYWRkcmVzcygmSXB2NkFkZHI6Om5ldygKPiArICAg ICAgICAgICAgMHhBQkFCLCAwLCAwLCAwLCAweEZGRkYsIDB4RkZGRiwgMHhGRkZGLCAweEZGRkYK PiArICAgICAgICApKSk7Cj4gKyAgICAgICAgYXNzZXJ0ISghY2lkci5jb250YWluc19hZGRyZXNz KCZJcHY2QWRkcjo6bmV3KDB4QUJBQiwgMCwgMCwgMSwgMCwgMCwgMCwgMCkpKTsKPiArICAgICAg ICBhc3NlcnQhKCFjaWRyLmNvbnRhaW5zX2FkZHJlc3MoJklwdjZBZGRyOjpuZXcoCj4gKyAgICAg ICAgICAgIDB4QUJBQSwgMCwgMCwgMCwgMHhGRkZGLCAweEZGRkYsIDB4RkZGRiwgMHhGRkZGCj4g KyAgICAgICAgKSkpOwo+ICsKPiArICAgICAgICBjaWRyID0gImVlZWU6OjEiLnBhcnNlKCkuZXhw ZWN0KCJ2YWxpZCBJUHY2IENJRFIiKTsKPiArCj4gKyAgICAgICAgYXNzZXJ0X2VxIShjaWRyLm1h c2ssIDEyOCk7Cj4gKwo+ICsgICAgICAgIGFzc2VydCEoY2lkci5jb250YWluc19hZGRyZXNzKCZJ cHY2QWRkcjo6bmV3KDB4RUVFRSwgMCwgMCwgMCwgMCwgMCwgMCwgMSkpKTsKPiArICAgICAgICBh c3NlcnQhKCFjaWRyLmNvbnRhaW5zX2FkZHJlc3MoJklwdjZBZGRyOjpuZXcoCj4gKyAgICAgICAg ICAgIDB4RUVFRCwgMHhGRkZGLCAweEZGRkYsIDB4RkZGRiwgMHhGRkZGLCAweEZGRkYsIDB4RkZG RiwgMHhGRkZGCj4gKyAgICAgICAgKSkpOwo+ICsgICAgICAgIGFzc2VydCEoIWNpZHIuY29udGFp bnNfYWRkcmVzcygmSXB2NkFkZHI6Om5ldygweEVFRUUsIDAsIDAsIDAsIDAsIDAsIDAsIDApKSk7 Cj4gKwo+ICsgICAgICAgICJlZWVlOjoxLy0xIi5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcF9l cnIoKTsKPiArICAgICAgICAiZWVlZTo6MS8xMjkiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFw X2VycigpOwo+ICsgICAgICAgICJnZ2dnOjoxLzY0Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3Jh cF9lcnIoKTsKPiArCj4gKyAgICAgICAgIjE5Mi4xNjguMC4xIi5wYXJzZTo6PElwdjZDaWRyPigp LnVud3JhcF9lcnIoKTsKPiArICAgICAgICAicXdlYXNkIi5wYXJzZTo6PElwdjZDaWRyPigpLnVu d3JhcF9lcnIoKTsKPiArICAgICAgICAiIi5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcF9lcnIo KTsKPiArICAgIH0KPiArCj4gKyAgICAjW3Rlc3RdCj4gKyAgICBmbiB0ZXN0X2lwX3JhbmdlKCkg ewo+ICsgICAgICAgIElwUmFuZ2U6Om5ldyhbMTAsIDAsIDAsIDJdLCBbMTAsIDAsIDAsIDFdKS51 bndyYXBfZXJyKCk7Cj4gKwo+ICsgICAgICAgIElwUmFuZ2U6Om5ldygKPiArICAgICAgICAgICAg WzB4MjAwMSwgMHgwZGI4LCAwLCAwLCAwLCAwLCAwLCAweDEwMDBdLAo+ICsgICAgICAgICAgICBb MHgyMDAxLCAweDBkYjgsIDAsIDAsIDAsIDAsIDAsIDBdLAo+ICsgICAgICAgICkKPiArICAgICAg ICAudW53cmFwX2VycigpOwo+ICsKPiArICAgICAgICBsZXQgdjRfcmFuZ2UgPSBJcFJhbmdlOjpu ZXcoWzEwLCAwLCAwLCAwXSwgWzEwLCAwLCAwLCAxMDBdKS51bndyYXAoKTsKPiArICAgICAgICBh c3NlcnRfZXEhKHY0X3JhbmdlLmZhbWlseSgpLCBGYW1pbHk6OlY0KTsKPiArCj4gKyAgICAgICAg bGV0IHY2X3JhbmdlID0gSXBSYW5nZTo6bmV3KAo+ICsgICAgICAgICAgICBbMHgyMDAxLCAweDBk YjgsIDAsIDAsIDAsIDAsIDAsIDBdLAo+ICsgICAgICAgICAgICBbMHgyMDAxLCAweDBkYjgsIDAs IDAsIDAsIDAsIDAsIDB4MTAwMF0sCj4gKyAgICAgICAgKQo+ICsgICAgICAgIC51bndyYXAoKTsK PiArICAgICAgICBhc3NlcnRfZXEhKHY2X3JhbmdlLmZhbWlseSgpLCBGYW1pbHk6OlY2KTsKPiAr Cj4gKyAgICAgICAgIjEwLjAuMC4xLTEwLjAuMC4xMDAiLnBhcnNlOjo8SXBSYW5nZT4oKS51bndy YXAoKTsKPiArICAgICAgICAiMjAwMTpkYjg6OjEtMjAwMTpkYjg6OmYiLnBhcnNlOjo8SXBSYW5n ZT4oKS51bndyYXAoKTsKPiArCj4gKyAgICAgICAgIjEwLjAuMC4xLTIwMDE6ZGI4OjoxMDAwIi5w YXJzZTo6PElwUmFuZ2U+KCkudW53cmFwX2VycigpOwo+ICsgICAgICAgICIyMDAxOmRiODo6MS0x OTIuMTY4LjAuMiIucGFyc2U6OjxJcFJhbmdlPigpLnVud3JhcF9lcnIoKTsKPiArCj4gKyAgICAg ICAgIjEwLjAuMC4xLTEwLjAuMC4wIi5wYXJzZTo6PElwUmFuZ2U+KCkudW53cmFwX2VycigpOwo+ ICsgICAgICAgICIyMDAxOmRiODo6MS0yMDAxOmRiODo6MCIucGFyc2U6OjxJcFJhbmdlPigpLnVu d3JhcF9lcnIoKTsKPiArICAgIH0KPiArCj4gKyAgICAjW3Rlc3RdCj4gKyAgICBmbiB0ZXN0X2lw djRfdG9fY2lkcnMoKSB7Cj4gKyAgICAgICAgbGV0IHJhbmdlID0gQWRkcmVzc1JhbmdlOjpuZXdf djQoWzE5MiwgMTY4LCAwLCAxMDBdLCBbMTkyLCAxNjgsIDAsIDEwMF0pLnVud3JhcCgpOwo+ICsK PiArICAgICAgICBhc3NlcnRfZXEhKAo+ICsgICAgICAgICAgICBbSXB2NENpZHI6Om5ldyhbMTky LCAxNjgsIDAsIDEwMF0sIDMyKS51bndyYXAoKV0sCj4gKyAgICAgICAgICAgIHJhbmdlLnRvX2Np ZHJzKCkuYXNfc2xpY2UoKQo+ICsgICAgICAgICk7Cj4gKwo+ICsgICAgICAgIGxldCByYW5nZSA9 IEFkZHJlc3NSYW5nZTo6bmV3X3Y0KFsxOTIsIDE2OCwgMCwgMTAwXSwgWzE5MiwgMTY4LCAwLCAy MDBdKS51bndyYXAoKTsKPiArCj4gKyAgICAgICAgYXNzZXJ0X2VxISgKPiArICAgICAgICAgICAg Wwo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMTkyLCAxNjgsIDAsIDEwMF0sIDMw KS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzE5MiwgMTY4LCAw LCAxMDRdLCAyOSkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsx OTIsIDE2OCwgMCwgMTEyXSwgMjgpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NENp ZHI6Om5ldyhbMTkyLCAxNjgsIDAsIDEyOF0sIDI2KS51bndyYXAoKSwKPiArICAgICAgICAgICAg ICAgIElwdjRDaWRyOjpuZXcoWzE5MiwgMTY4LCAwLCAxOTJdLCAyOSkudW53cmFwKCksCj4gKyAg ICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsxOTIsIDE2OCwgMCwgMjAwXSwgMzIpLnVud3Jh cCgpLAo+ICsgICAgICAgICAgICBdLAo+ICsgICAgICAgICAgICByYW5nZS50b19jaWRycygpLmFz X3NsaWNlKCkKPiArICAgICAgICApOwo+ICsKPiArICAgICAgICBsZXQgcmFuZ2UgPSBBZGRyZXNz UmFuZ2U6Om5ld192NChbMTkyLCAxNjgsIDAsIDEwMV0sIFsxOTIsIDE2OCwgMCwgMjAwXSkudW53 cmFwKCk7Cj4gKwo+ICsgICAgICAgIGFzc2VydF9lcSEoCj4gKyAgICAgICAgICAgIFsKPiArICAg ICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzE5MiwgMTY4LCAwLCAxMDFdLCAzMikudW53cmFw KCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsxOTIsIDE2OCwgMCwgMTAyXSwg MzEpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMTkyLCAxNjgs IDAsIDEwNF0sIDI5KS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXco WzE5MiwgMTY4LCAwLCAxMTJdLCAyOCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0 Q2lkcjo6bmV3KFsxOTIsIDE2OCwgMCwgMTI4XSwgMjYpLnVud3JhcCgpLAo+ICsgICAgICAgICAg ICAgICAgSXB2NENpZHI6Om5ldyhbMTkyLCAxNjgsIDAsIDE5Ml0sIDI5KS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzE5MiwgMTY4LCAwLCAyMDBdLCAzMikudW53 cmFwKCksCj4gKyAgICAgICAgICAgIF0sCj4gKyAgICAgICAgICAgIHJhbmdlLnRvX2NpZHJzKCku YXNfc2xpY2UoKQo+ICsgICAgICAgICk7Cj4gKwo+ICsgICAgICAgIGxldCByYW5nZSA9IEFkZHJl c3NSYW5nZTo6bmV3X3Y0KFsxOTIsIDE2OCwgMCwgMTAxXSwgWzE5MiwgMTY4LCAwLCAxMDFdKS51 bndyYXAoKTsKPiArCj4gKyAgICAgICAgYXNzZXJ0X2VxISgKPiArICAgICAgICAgICAgW0lwdjRD aWRyOjpuZXcoWzE5MiwgMTY4LCAwLCAxMDFdLCAzMikudW53cmFwKCldLAo+ICsgICAgICAgICAg ICByYW5nZS50b19jaWRycygpLmFzX3NsaWNlKCkKPiArICAgICAgICApOwo+ICsKPiArICAgICAg ICBsZXQgcmFuZ2UgPSBBZGRyZXNzUmFuZ2U6Om5ld192NChbMTkyLCAxNjgsIDAsIDEwMV0sIFsx OTIsIDE2OCwgMCwgMjAxXSkudW53cmFwKCk7Cj4gKwo+ICsgICAgICAgIGFzc2VydF9lcSEoCj4g KyAgICAgICAgICAgIFsKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzE5MiwgMTY4 LCAwLCAxMDFdLCAzMikudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3 KFsxOTIsIDE2OCwgMCwgMTAyXSwgMzEpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2 NENpZHI6Om5ldyhbMTkyLCAxNjgsIDAsIDEwNF0sIDI5KS51bndyYXAoKSwKPiArICAgICAgICAg ICAgICAgIElwdjRDaWRyOjpuZXcoWzE5MiwgMTY4LCAwLCAxMTJdLCAyOCkudW53cmFwKCksCj4g KyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsxOTIsIDE2OCwgMCwgMTI4XSwgMjYpLnVu d3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMTkyLCAxNjgsIDAsIDE5 Ml0sIDI5KS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzE5Miwg MTY4LCAwLCAyMDBdLCAzMSkudW53cmFwKCksCj4gKyAgICAgICAgICAgIF0sCj4gKyAgICAgICAg ICAgIHJhbmdlLnRvX2NpZHJzKCkuYXNfc2xpY2UoKQo+ICsgICAgICAgICk7Cj4gKwo+ICsgICAg ICAgIGxldCByYW5nZSA9IEFkZHJlc3NSYW5nZTo6bmV3X3Y0KFsxOTIsIDE2OCwgMCwgMF0sIFsx OTIsIDE2OCwgMCwgMjU1XSkudW53cmFwKCk7Cj4gKwo+ICsgICAgICAgIGFzc2VydF9lcSEoCj4g KyAgICAgICAgICAgIFtJcHY0Q2lkcjo6bmV3KFsxOTIsIDE2OCwgMCwgMF0sIDI0KS51bndyYXAo KSxdLAo+ICsgICAgICAgICAgICByYW5nZS50b19jaWRycygpLmFzX3NsaWNlKCkKPiArICAgICAg ICApOwo+ICsKPiArICAgICAgICBsZXQgcmFuZ2UgPSBBZGRyZXNzUmFuZ2U6Om5ld192NChbMCwg MCwgMCwgMF0sIFsyNTUsIDI1NSwgMjU1LCAyNTVdKS51bndyYXAoKTsKPiArCj4gKyAgICAgICAg YXNzZXJ0X2VxISgKPiArICAgICAgICAgICAgW0lwdjRDaWRyOjpuZXcoWzAsIDAsIDAsIDBdLCAw KS51bndyYXAoKSxdLAo+ICsgICAgICAgICAgICByYW5nZS50b19jaWRycygpLmFzX3NsaWNlKCkK PiArICAgICAgICApOwo+ICsKPiArICAgICAgICBsZXQgcmFuZ2UgPSBBZGRyZXNzUmFuZ2U6Om5l d192NChbMCwgMCwgMCwgMV0sIFsyNTUsIDI1NSwgMjU1LCAyNTVdKS51bndyYXAoKTsKPiArCj4g KyAgICAgICAgYXNzZXJ0X2VxISgKPiArICAgICAgICAgICAgWwo+ICsgICAgICAgICAgICAgICAg SXB2NENpZHI6Om5ldyhbMCwgMCwgMCwgMV0sIDMyKS51bndyYXAoKSwKPiArICAgICAgICAgICAg ICAgIElwdjRDaWRyOjpuZXcoWzAsIDAsIDAsIDJdLCAzMSkudW53cmFwKCksCj4gKyAgICAgICAg ICAgICAgICBJcHY0Q2lkcjo6bmV3KFswLCAwLCAwLCA0XSwgMzApLnVud3JhcCgpLAo+ICsgICAg ICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMCwgMCwgMCwgOF0sIDI5KS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzAsIDAsIDAsIDE2XSwgMjgpLnVud3JhcCgp LAo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMCwgMCwgMCwgMzJdLCAyNykudW53 cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFswLCAwLCAwLCA2NF0sIDI2 KS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzAsIDAsIDAsIDEy OF0sIDI1KS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzAsIDAs IDEsIDBdLCAyNCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsw LCAwLCAyLCAwXSwgMjMpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6Om5l dyhbMCwgMCwgNCwgMF0sIDIyKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRy OjpuZXcoWzAsIDAsIDgsIDBdLCAyMSkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0 Q2lkcjo6bmV3KFswLCAwLCAxNiwgMF0sIDIwKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAg IElwdjRDaWRyOjpuZXcoWzAsIDAsIDMyLCAwXSwgMTkpLnVud3JhcCgpLAo+ICsgICAgICAgICAg ICAgICAgSXB2NENpZHI6Om5ldyhbMCwgMCwgNjQsIDBdLCAxOCkudW53cmFwKCksCj4gKyAgICAg ICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFswLCAwLCAxMjgsIDBdLCAxNykudW53cmFwKCksCj4g KyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFswLCAxLCAwLCAwXSwgMTYpLnVud3JhcCgp LAo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMCwgMiwgMCwgMF0sIDE1KS51bndy YXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzAsIDQsIDAsIDBdLCAxNCku dW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFswLCA4LCAwLCAwXSwg MTMpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMCwgMTYsIDAs IDBdLCAxMikudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFswLCAz MiwgMCwgMF0sIDExKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXco WzAsIDY0LCAwLCAwXSwgMTApLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6 Om5ldyhbMCwgMTI4LCAwLCAwXSwgOSkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0 Q2lkcjo6bmV3KFsxLCAwLCAwLCAwXSwgOCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJ cHY0Q2lkcjo6bmV3KFsyLCAwLCAwLCAwXSwgNykudW53cmFwKCksCj4gKyAgICAgICAgICAgICAg ICBJcHY0Q2lkcjo6bmV3KFs0LCAwLCAwLCAwXSwgNikudW53cmFwKCksCj4gKyAgICAgICAgICAg ICAgICBJcHY0Q2lkcjo6bmV3KFs4LCAwLCAwLCAwXSwgNSkudW53cmFwKCksCj4gKyAgICAgICAg ICAgICAgICBJcHY0Q2lkcjo6bmV3KFsxNiwgMCwgMCwgMF0sIDQpLnVud3JhcCgpLAo+ICsgICAg ICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMzIsIDAsIDAsIDBdLCAzKS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzY0LCAwLCAwLCAwXSwgMikudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsxMjgsIDAsIDAsIDBdLCAxKS51bndy YXAoKSwKPiArICAgICAgICAgICAgXSwKPiArICAgICAgICAgICAgcmFuZ2UudG9fY2lkcnMoKS5h c19zbGljZSgpCj4gKyAgICAgICAgKTsKPiArCj4gKyAgICAgICAgbGV0IHJhbmdlID0gQWRkcmVz c1JhbmdlOjpuZXdfdjQoWzAsIDAsIDAsIDBdLCBbMjU1LCAyNTUsIDI1NSwgMjU0XSkudW53cmFw KCk7Cj4gKwo+ICsgICAgICAgIGFzc2VydF9lcSEoCj4gKyAgICAgICAgICAgIFsKPiArICAgICAg ICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzAsIDAsIDAsIDBdLCAxKS51bndyYXAoKSwKPiArICAg ICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzEyOCwgMCwgMCwgMF0sIDIpLnVud3JhcCgpLAo+ ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMTkyLCAwLCAwLCAwXSwgMykudW53cmFw KCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsyMjQsIDAsIDAsIDBdLCA0KS51 bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzI0MCwgMCwgMCwgMF0s IDUpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMjQ4LCAwLCAw LCAwXSwgNikudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsyNTIs IDAsIDAsIDBdLCA3KS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXco WzI1NCwgMCwgMCwgMF0sIDgpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6 Om5ldyhbMjU1LCAwLCAwLCAwXSwgOSkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0 Q2lkcjo6bmV3KFsyNTUsIDEyOCwgMCwgMF0sIDEwKS51bndyYXAoKSwKPiArICAgICAgICAgICAg ICAgIElwdjRDaWRyOjpuZXcoWzI1NSwgMTkyLCAwLCAwXSwgMTEpLnVud3JhcCgpLAo+ICsgICAg ICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMjU1LCAyMjQsIDAsIDBdLCAxMikudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsyNTUsIDI0MCwgMCwgMF0sIDEzKS51 bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzI1NSwgMjQ4LCAwLCAw XSwgMTQpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMjU1LCAy NTIsIDAsIDBdLCAxNSkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3 KFsyNTUsIDI1NCwgMCwgMF0sIDE2KS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRD aWRyOjpuZXcoWzI1NSwgMjU1LCAwLCAwXSwgMTcpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAg ICAgSXB2NENpZHI6Om5ldyhbMjU1LCAyNTUsIDEyOCwgMF0sIDE4KS51bndyYXAoKSwKPiArICAg ICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzI1NSwgMjU1LCAxOTIsIDBdLCAxOSkudW53cmFw KCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsyNTUsIDI1NSwgMjI0LCAwXSwg MjApLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NENpZHI6Om5ldyhbMjU1LCAyNTUs IDI0MCwgMF0sIDIxKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXco WzI1NSwgMjU1LCAyNDgsIDBdLCAyMikudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0 Q2lkcjo6bmV3KFsyNTUsIDI1NSwgMjUyLCAwXSwgMjMpLnVud3JhcCgpLAo+ICsgICAgICAgICAg ICAgICAgSXB2NENpZHI6Om5ldyhbMjU1LCAyNTUsIDI1NCwgMF0sIDI0KS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgIElwdjRDaWRyOjpuZXcoWzI1NSwgMjU1LCAyNTUsIDBdLCAyNSkudW53 cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsyNTUsIDI1NSwgMjU1LCAx MjhdLCAyNikudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsyNTUs IDI1NSwgMjU1LCAxOTJdLCAyNykudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lk cjo6bmV3KFsyNTUsIDI1NSwgMjU1LCAyMjRdLCAyOCkudW53cmFwKCksCj4gKyAgICAgICAgICAg ICAgICBJcHY0Q2lkcjo6bmV3KFsyNTUsIDI1NSwgMjU1LCAyNDBdLCAyOSkudW53cmFwKCksCj4g KyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsyNTUsIDI1NSwgMjU1LCAyNDhdLCAzMCku dW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsyNTUsIDI1NSwgMjU1 LCAyNTJdLCAzMSkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY0Q2lkcjo6bmV3KFsy NTUsIDI1NSwgMjU1LCAyNTRdLCAzMikudW53cmFwKCksCj4gKyAgICAgICAgICAgIF0sCj4gKyAg ICAgICAgICAgIHJhbmdlLnRvX2NpZHJzKCkuYXNfc2xpY2UoKQo+ICsgICAgICAgICk7Cj4gKwo+ ICsgICAgICAgIGxldCByYW5nZSA9IEFkZHJlc3NSYW5nZTo6bmV3X3Y0KFswLCAwLCAwLCAwXSwg WzAsIDAsIDAsIDBdKS51bndyYXAoKTsKPiArCj4gKyAgICAgICAgYXNzZXJ0X2VxISgKPiArICAg ICAgICAgICAgW0lwdjRDaWRyOjpuZXcoWzAsIDAsIDAsIDBdLCAzMikudW53cmFwKCksXSwKPiAr ICAgICAgICAgICAgcmFuZ2UudG9fY2lkcnMoKS5hc19zbGljZSgpCj4gKyAgICAgICAgKTsKPiAr Cj4gKyAgICAgICAgbGV0IHJhbmdlID0gQWRkcmVzc1JhbmdlOjpuZXdfdjQoWzI1NSwgMjU1LCAy NTUsIDI1NV0sIFsyNTUsIDI1NSwgMjU1LCAyNTVdKS51bndyYXAoKTsKPiArCj4gKyAgICAgICAg YXNzZXJ0X2VxISgKPiArICAgICAgICAgICAgW0lwdjRDaWRyOjpuZXcoWzI1NSwgMjU1LCAyNTUs IDI1NV0sIDMyKS51bndyYXAoKSxdLAo+ICsgICAgICAgICAgICByYW5nZS50b19jaWRycygpLmFz X3NsaWNlKCkKPiArICAgICAgICApOwo+ICsgICAgfQo+ICsKPiArICAgICNbdGVzdF0KPiArICAg IGZuIHRlc3RfaXB2Nl90b19jaWRycygpIHsKPiArICAgICAgICBsZXQgcmFuZ2UgPSBBZGRyZXNz UmFuZ2U6Om5ld192NigKPiArICAgICAgICAgICAgWzB4MjAwMSwgMHgwREI4LCAwLCAwLCAwLCAw LCAwLCAweDEwMDBdLAo+ICsgICAgICAgICAgICBbMHgyMDAxLCAweDBEQjgsIDAsIDAsIDAsIDAs IDAsIDB4MTAwMF0sCj4gKyAgICAgICAgKQo+ICsgICAgICAgIC51bndyYXAoKTsKPiArCj4gKyAg ICAgICAgYXNzZXJ0X2VxISgKPiArICAgICAgICAgICAgW0lwdjZDaWRyOjpuZXcoWzB4MjAwMSwg MHgwREI4LCAwLCAwLCAwLCAwLCAwLCAweDEwMDBdLCAxMjgpLnVud3JhcCgpXSwKPiArICAgICAg ICAgICAgcmFuZ2UudG9fY2lkcnMoKS5hc19zbGljZSgpCj4gKyAgICAgICAgKTsKPiArCj4gKyAg ICAgICAgbGV0IHJhbmdlID0gQWRkcmVzc1JhbmdlOjpuZXdfdjYoCj4gKyAgICAgICAgICAgIFsw eDIwMDEsIDB4MERCOCwgMCwgMCwgMCwgMCwgMCwgMHgxMDAwXSwKPiArICAgICAgICAgICAgWzB4 MjAwMSwgMHgwREI4LCAwLCAwLCAwLCAwLCAwLCAweDIwMDBdLAo+ICsgICAgICAgICkKPiArICAg ICAgICAudW53cmFwKCk7Cj4gKwo+ICsgICAgICAgIGFzc2VydF9lcSEoCj4gKyAgICAgICAgICAg IFsKPiArICAgICAgICAgICAgICAgIElwdjZDaWRyOjpuZXcoWzB4MjAwMSwgMHgwREI4LCAwLCAw LCAwLCAwLCAwLCAweDEwMDBdLCAxMTYpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2 NkNpZHI6Om5ldyhbMHgyMDAxLCAweDBEQjgsIDAsIDAsIDAsIDAsIDAsIDB4MjAwMF0sIDEyOCku dW53cmFwKCksCj4gKyAgICAgICAgICAgIF0sCj4gKyAgICAgICAgICAgIHJhbmdlLnRvX2NpZHJz KCkuYXNfc2xpY2UoKQo+ICsgICAgICAgICk7Cj4gKwo+ICsgICAgICAgIGxldCByYW5nZSA9IEFk ZHJlc3NSYW5nZTo6bmV3X3Y2KAo+ICsgICAgICAgICAgICBbMHgyMDAxLCAweDBEQjgsIDAsIDAs IDAsIDAsIDAsIDB4MTAwMV0sCj4gKyAgICAgICAgICAgIFsweDIwMDEsIDB4MERCOCwgMCwgMCwg MCwgMCwgMCwgMHgyMDAwXSwKPiArICAgICAgICApCj4gKyAgICAgICAgLnVud3JhcCgpOwo+ICsK PiArICAgICAgICBhc3NlcnRfZXEhKAo+ICsgICAgICAgICAgICBbCj4gKyAgICAgICAgICAgICAg ICBJcHY2Q2lkcjo6bmV3KFsweDIwMDEsIDB4MERCOCwgMCwgMCwgMCwgMCwgMCwgMHgxMDAxXSwg MTI4KS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjZDaWRyOjpuZXcoWzB4MjAwMSwg MHgwREI4LCAwLCAwLCAwLCAwLCAwLCAweDEwMDJdLCAxMjcpLnVud3JhcCgpLAo+ICsgICAgICAg ICAgICAgICAgSXB2NkNpZHI6Om5ldyhbMHgyMDAxLCAweDBEQjgsIDAsIDAsIDAsIDAsIDAsIDB4 MTAwNF0sIDEyNikudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY2Q2lkcjo6bmV3KFsw eDIwMDEsIDB4MERCOCwgMCwgMCwgMCwgMCwgMCwgMHgxMDA4XSwgMTI1KS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgIElwdjZDaWRyOjpuZXcoWzB4MjAwMSwgMHgwREI4LCAwLCAwLCAwLCAw LCAwLCAweDEwMTBdLCAxMjQpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NkNpZHI6 Om5ldyhbMHgyMDAxLCAweDBEQjgsIDAsIDAsIDAsIDAsIDAsIDB4MTAyMF0sIDEyMykudW53cmFw KCksCj4gKyAgICAgICAgICAgICAgICBJcHY2Q2lkcjo6bmV3KFsweDIwMDEsIDB4MERCOCwgMCwg MCwgMCwgMCwgMCwgMHgxMDQwXSwgMTIyKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElw djZDaWRyOjpuZXcoWzB4MjAwMSwgMHgwREI4LCAwLCAwLCAwLCAwLCAwLCAweDEwODBdLCAxMjEp LnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NkNpZHI6Om5ldyhbMHgyMDAxLCAweDBE QjgsIDAsIDAsIDAsIDAsIDAsIDB4MTEwMF0sIDEyMCkudW53cmFwKCksCj4gKyAgICAgICAgICAg ICAgICBJcHY2Q2lkcjo6bmV3KFsweDIwMDEsIDB4MERCOCwgMCwgMCwgMCwgMCwgMCwgMHgxMjAw XSwgMTE5KS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjZDaWRyOjpuZXcoWzB4MjAw MSwgMHgwREI4LCAwLCAwLCAwLCAwLCAwLCAweDE0MDBdLCAxMTgpLnVud3JhcCgpLAo+ICsgICAg ICAgICAgICAgICAgSXB2NkNpZHI6Om5ldyhbMHgyMDAxLCAweDBEQjgsIDAsIDAsIDAsIDAsIDAs IDB4MTgwMF0sIDExNykudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY2Q2lkcjo6bmV3 KFsweDIwMDEsIDB4MERCOCwgMCwgMCwgMCwgMCwgMCwgMHgyMDAwXSwgMTI4KS51bndyYXAoKSwK PiArICAgICAgICAgICAgXSwKPiArICAgICAgICAgICAgcmFuZ2UudG9fY2lkcnMoKS5hc19zbGlj ZSgpCj4gKyAgICAgICAgKTsKPiArCj4gKyAgICAgICAgbGV0IHJhbmdlID0gQWRkcmVzc1Jhbmdl OjpuZXdfdjYoCj4gKyAgICAgICAgICAgIFsweDIwMDEsIDB4MERCOCwgMCwgMCwgMCwgMCwgMCwg MHgxMDAxXSwKPiArICAgICAgICAgICAgWzB4MjAwMSwgMHgwREI4LCAwLCAwLCAwLCAwLCAwLCAw eDEwMDFdLAo+ICsgICAgICAgICkKPiArICAgICAgICAudW53cmFwKCk7Cj4gKwo+ICsgICAgICAg IGFzc2VydF9lcSEoCj4gKyAgICAgICAgICAgIFtJcHY2Q2lkcjo6bmV3KFsweDIwMDEsIDB4MERC OCwgMCwgMCwgMCwgMCwgMCwgMHgxMDAxXSwgMTI4KS51bndyYXAoKSxdLAo+ICsgICAgICAgICAg ICByYW5nZS50b19jaWRycygpLmFzX3NsaWNlKCkKPiArICAgICAgICApOwo+ICsKPiArICAgICAg ICBsZXQgcmFuZ2UgPSBBZGRyZXNzUmFuZ2U6Om5ld192NigKPiArICAgICAgICAgICAgWzB4MjAw MSwgMHgwREI4LCAwLCAwLCAwLCAwLCAwLCAweDEwMDFdLAo+ICsgICAgICAgICAgICBbMHgyMDAx LCAweDBEQjgsIDAsIDAsIDAsIDAsIDAsIDB4MjAwMV0sCj4gKyAgICAgICAgKQo+ICsgICAgICAg IC51bndyYXAoKTsKPiArCj4gKyAgICAgICAgYXNzZXJ0X2VxISgKPiArICAgICAgICAgICAgWwo+ ICsgICAgICAgICAgICAgICAgSXB2NkNpZHI6Om5ldyhbMHgyMDAxLCAweDBEQjgsIDAsIDAsIDAs IDAsIDAsIDB4MTAwMV0sIDEyOCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY2Q2lk cjo6bmV3KFsweDIwMDEsIDB4MERCOCwgMCwgMCwgMCwgMCwgMCwgMHgxMDAyXSwgMTI3KS51bndy YXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjZDaWRyOjpuZXcoWzB4MjAwMSwgMHgwREI4LCAw LCAwLCAwLCAwLCAwLCAweDEwMDRdLCAxMjYpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAg SXB2NkNpZHI6Om5ldyhbMHgyMDAxLCAweDBEQjgsIDAsIDAsIDAsIDAsIDAsIDB4MTAwOF0sIDEy NSkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY2Q2lkcjo6bmV3KFsweDIwMDEsIDB4 MERCOCwgMCwgMCwgMCwgMCwgMCwgMHgxMDEwXSwgMTI0KS51bndyYXAoKSwKPiArICAgICAgICAg ICAgICAgIElwdjZDaWRyOjpuZXcoWzB4MjAwMSwgMHgwREI4LCAwLCAwLCAwLCAwLCAwLCAweDEw MjBdLCAxMjMpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgSXB2NkNpZHI6Om5ldyhbMHgy MDAxLCAweDBEQjgsIDAsIDAsIDAsIDAsIDAsIDB4MTA0MF0sIDEyMikudW53cmFwKCksCj4gKyAg ICAgICAgICAgICAgICBJcHY2Q2lkcjo6bmV3KFsweDIwMDEsIDB4MERCOCwgMCwgMCwgMCwgMCwg MCwgMHgxMDgwXSwgMTIxKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjZDaWRyOjpu ZXcoWzB4MjAwMSwgMHgwREI4LCAwLCAwLCAwLCAwLCAwLCAweDExMDBdLCAxMjApLnVud3JhcCgp LAo+ICsgICAgICAgICAgICAgICAgSXB2NkNpZHI6Om5ldyhbMHgyMDAxLCAweDBEQjgsIDAsIDAs IDAsIDAsIDAsIDB4MTIwMF0sIDExOSkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICBJcHY2 Q2lkcjo6bmV3KFsweDIwMDEsIDB4MERCOCwgMCwgMCwgMCwgMCwgMCwgMHgxNDAwXSwgMTE4KS51 bndyYXAoKSwKPiArICAgICAgICAgICAgICAgIElwdjZDaWRyOjpuZXcoWzB4MjAwMSwgMHgwREI4 LCAwLCAwLCAwLCAwLCAwLCAweDE4MDBdLCAxMTcpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAg ICAgSXB2NkNpZHI6Om5ldyhbMHgyMDAxLCAweDBEQjgsIDAsIDAsIDAsIDAsIDAsIDB4MjAwMF0s IDEyNykudW53cmFwKCksCj4gKyAgICAgICAgICAgIF0sCj4gKyAgICAgICAgICAgIHJhbmdlLnRv X2NpZHJzKCkuYXNfc2xpY2UoKQo+ICsgICAgICAgICk7Cj4gKwo+ICsgICAgICAgIGxldCByYW5n ZSA9IEFkZHJlc3NSYW5nZTo6bmV3X3Y2KAo+ICsgICAgICAgICAgICBbMHgyMDAxLCAweDBEQjgs IDAsIDAsIDAsIDAsIDAsIDBdLAo+ICsgICAgICAgICAgICBbMHgyMDAxLCAweDBEQjgsIDAsIDAs IDB4RkZGRiwgMHhGRkZGLCAweEZGRkYsIDB4RkZGRl0sCj4gKyAgICAgICAgKQo+ICsgICAgICAg IC51bndyYXAoKTsKPiArCj4gKyAgICAgICAgYXNzZXJ0X2VxISgKPiArICAgICAgICAgICAgW0lw djZDaWRyOjpuZXcoWzB4MjAwMSwgMHgwREI4LCAwLCAwLCAwLCAwLCAwLCAwXSwgNjQpLnVud3Jh cCgpXSwKPiArICAgICAgICAgICAgcmFuZ2UudG9fY2lkcnMoKS5hc19zbGljZSgpCj4gKyAgICAg ICAgKTsKPiArCj4gKyAgICAgICAgbGV0IHJhbmdlID0gQWRkcmVzc1JhbmdlOjpuZXdfdjYoCj4g KyAgICAgICAgICAgIFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSwKPiArICAgICAgICAgICAgWwo+ ICsgICAgICAgICAgICAgICAgMHhGRkZGLCAweEZGRkYsIDB4RkZGRiwgMHhGRkZGLCAweEZGRkYs IDB4RkZGRiwgMHhGRkZGLCAweEZGRkYsCj4gKyAgICAgICAgICAgIF0sCj4gKyAgICAgICAgKQo+ ICsgICAgICAgIC51bndyYXAoKTsKPiArCj4gKyAgICAgICAgYXNzZXJ0X2VxISgKPiArICAgICAg ICAgICAgW0lwdjZDaWRyOjpuZXcoWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdLCAwKS51bndyYXAo KSxdLAo+ICsgICAgICAgICAgICByYW5nZS50b19jaWRycygpLmFzX3NsaWNlKCkKPiArICAgICAg ICApOwo+ICsKPiArICAgICAgICBsZXQgcmFuZ2UgPSBBZGRyZXNzUmFuZ2U6Om5ld192NigKPiAr ICAgICAgICAgICAgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDB4MDAwMV0sCj4gKyAgICAgICAgICAg IFsKPiArICAgICAgICAgICAgICAgIDB4RkZGRiwgMHhGRkZGLCAweEZGRkYsIDB4RkZGRiwgMHhG RkZGLCAweEZGRkYsIDB4RkZGRiwgMHhGRkZGLAo+ICsgICAgICAgICAgICBdLAo+ICsgICAgICAg ICkKPiArICAgICAgICAudW53cmFwKCk7Cj4gKwo+ICsgICAgICAgIGFzc2VydF9lcSEoCj4gKyAg ICAgICAgICAgIFsKPiArICAgICAgICAgICAgICAgICI6OjEvMTI4Ii5wYXJzZTo6PElwdjZDaWRy PigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6Mi8xMjciLnBhcnNlOjo8SXB2NkNp ZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiOjo0LzEyNiIucGFyc2U6OjxJcHY2 Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6OjgvMTI1Ii5wYXJzZTo6PElw djZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MTAvMTI0Ii5wYXJzZTo6 PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MjAvMTIzIi5wYXJz ZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6NDAvMTIyIi5w YXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6ODAvMTIx Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MTAw LzEyMCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6 OjIwMC8xMTkiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAg ICAiOjo0MDAvMTE4Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAg ICAgICAgIjo6ODAwLzExNyIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAg ICAgICAgICAgICI6OjEwMDAvMTE2Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsg ICAgICAgICAgICAgICAgIjo6MjAwMC8xMTUiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICAiOjo0MDAwLzExNCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndy YXAoKSwKPiArICAgICAgICAgICAgICAgICI6OjgwMDAvMTEzIi5wYXJzZTo6PElwdjZDaWRyPigp LnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MTowLzExMiIucGFyc2U6OjxJcHY2Q2lk cj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6OjI6MC8xMTEiLnBhcnNlOjo8SXB2 NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiOjo0OjAvMTEwIi5wYXJzZTo6 PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6ODowLzEwOSIucGFy c2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6OjEwOjAvMTA4 Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MjA6 MC8xMDciLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAi Ojo0MDowLzEwNiIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAg ICAgICI6OjgwOjAvMTA1Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAg ICAgICAgICAgIjo6MTAwOjAvMTA0Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsg ICAgICAgICAgICAgICAgIjo6MjAwOjAvMTAzIi5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgp LAo+ICsgICAgICAgICAgICAgICAgIjo6NDAwOjAvMTAyIi5wYXJzZTo6PElwdjZDaWRyPigpLnVu d3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6ODAwOjAvMTAxIi5wYXJzZTo6PElwdjZDaWRy PigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MTAwMDowLzEwMCIucGFyc2U6OjxJ cHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6OjIwMDA6MC85OSIucGFy c2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6OjQwMDA6MC85 OCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6Ojgw MDA6MC85NyIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAg ICI6OjE6MDowLzk2Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAg ICAgICAgIjo6MjowOjAvOTUiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAg ICAgICAgICAgICAiOjo0OjA6MC85NCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgICI6Ojg6MDowLzkzIi5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgp LAo+ICsgICAgICAgICAgICAgICAgIjo6MTA6MDowLzkyIi5wYXJzZTo6PElwdjZDaWRyPigpLnVu d3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MjA6MDowLzkxIi5wYXJzZTo6PElwdjZDaWRy PigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6NDA6MDowLzkwIi5wYXJzZTo6PElw djZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6ODA6MDowLzg5Ii5wYXJz ZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MTAwOjA6MC84 OCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6OjIw MDowOjAvODciLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAg ICAiOjo0MDA6MDowLzg2Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAg ICAgICAgICAgIjo6ODAwOjA6MC84NSIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgICI6OjEwMDA6MDowLzg0Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3Jh cCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MjAwMDowOjAvODMiLnBhcnNlOjo8SXB2NkNpZHI+ KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiOjo0MDAwOjA6MC84MiIucGFyc2U6OjxJ cHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6OjgwMDA6MDowLzgxIi5w YXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MTowOjA6 MC84MCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6 OjI6MDowOjAvNzkiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAg ICAgICAiOjo0OjA6MDowLzc4Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAg ICAgICAgICAgICAgIjo6ODowOjA6MC83NyIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwK PiArICAgICAgICAgICAgICAgICI6OjEwOjA6MDowLzc2Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVu d3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MjA6MDowOjAvNzUiLnBhcnNlOjo8SXB2NkNp ZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiOjo0MDowOjA6MC83NCIucGFyc2U6 OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6OjgwOjA6MDowLzcz Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MTAw OjA6MDowLzcyIi5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAg ICAgIjo6MjAwOjA6MDowLzcxIi5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAg ICAgICAgICAgICAgIjo6NDAwOjA6MDowLzcwIi5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgp LAo+ICsgICAgICAgICAgICAgICAgIjo6ODAwOjA6MDowLzY5Ii5wYXJzZTo6PElwdjZDaWRyPigp LnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjo6MTAwMDowOjA6MC82OCIucGFyc2U6OjxJ cHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI6OjIwMDA6MDowOjAvNjci LnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiOjo0MDAw OjA6MDowLzY2Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAg ICAgIjo6ODAwMDowOjA6MC82NSIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAg ICAgICAgICAgICAgICIwOjA6MDoxOjovNjQiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICAiMDowOjA6Mjo6LzYzIi5wYXJzZTo6PElwdjZDaWRyPigpLnVu d3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjA6MDowOjQ6Oi82MiIucGFyc2U6OjxJcHY2Q2lk cj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjA6MDo4OjovNjEiLnBhcnNlOjo8 SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiMDowOjA6MTA6Oi82MCIu cGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjA6MDoy MDo6LzU5Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAg IjA6MDowOjQwOjovNTgiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAg ICAgICAgICAiMDowOjA6ODA6Oi81NyIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgICIwOjA6MDoxMDA6Oi81NiIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndy YXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjA6MDoyMDA6Oi81NSIucGFyc2U6OjxJcHY2Q2lk cj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjA6MDo0MDA6Oi81NCIucGFyc2U6 OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjA6MDo4MDA6Oi81 MyIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjA6 MDoxMDAwOjovNTIiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAg ICAgICAiMDowOjA6MjAwMDo6LzUxIi5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsg ICAgICAgICAgICAgICAgIjA6MDowOjQwMDA6Oi81MCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndy YXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjA6MDo4MDAwOjovNDkiLnBhcnNlOjo8SXB2NkNp ZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiMDowOjE6Oi80OCIucGFyc2U6OjxJ cHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjA6Mjo6LzQ3Ii5wYXJz ZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjA6MDo0OjovNDYi LnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiMDowOjg6 Oi80NSIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIw OjA6MTA6Oi80NCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAg ICAgICIwOjA6MjA6Oi80MyIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAg ICAgICAgICAgICIwOjA6NDA6Oi80MiIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgICIwOjA6ODA6Oi80MSIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAo KSwKPiArICAgICAgICAgICAgICAgICIwOjA6MTAwOjovNDAiLnBhcnNlOjo8SXB2NkNpZHI+KCku dW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiMDowOjIwMDo6LzM5Ii5wYXJzZTo6PElwdjZD aWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjA6MDo0MDA6Oi8zOCIucGFyc2U6 OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjA6ODAwOjovMzci LnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiMDowOjEw MDA6Oi8zNiIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAg ICIwOjA6MjAwMDo6LzM1Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAg ICAgICAgICAgIjA6MDo0MDAwOjovMzQiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4g KyAgICAgICAgICAgICAgICAiMDowOjgwMDA6Oi8zMyIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndy YXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjE6Oi8zMiIucGFyc2U6OjxJcHY2Q2lkcj4oKS51 bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjI6Oi8zMSIucGFyc2U6OjxJcHY2Q2lkcj4o KS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjQ6Oi8zMCIucGFyc2U6OjxJcHY2Q2lk cj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjg6Oi8yOSIucGFyc2U6OjxJcHY2 Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjEwOjovMjgiLnBhcnNlOjo8 SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiMDoyMDo6LzI3Ii5wYXJz ZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjA6NDA6Oi8yNiIu cGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjgwOjov MjUiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiMDox MDA6Oi8yNCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAg ICIwOjIwMDo6LzIzIi5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAg ICAgICAgIjA6NDAwOjovMjIiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAg ICAgICAgICAgICAiMDo4MDA6Oi8yMSIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgICIwOjEwMDA6Oi8yMCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAo KSwKPiArICAgICAgICAgICAgICAgICIwOjIwMDA6Oi8xOSIucGFyc2U6OjxJcHY2Q2lkcj4oKS51 bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjQwMDA6Oi8xOCIucGFyc2U6OjxJcHY2Q2lk cj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIwOjgwMDA6Oi8xNyIucGFyc2U6OjxJ cHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIxOjovMTYiLnBhcnNlOjo8 SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiMjo6LzE1Ii5wYXJzZTo6 PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjQ6Oi8xNCIucGFyc2U6 OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI4OjovMTMiLnBhcnNl Ojo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiMTA6Oi8xMiIucGFy c2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICIyMDo6LzExIi5w YXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjQwOjovMTAi LnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiODA6Oi85 Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjEwMDo6 LzgiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiMjAw OjovNyIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICI0 MDA6Oi82Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAg IjgwMDo6LzUiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAg ICAiMTAwMDo6LzQiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAg ICAgICAiMjAwMDo6LzMiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAg ICAgICAgICAiNDAwMDo6LzIiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAg ICAgICAgICAgICAiODAwMDo6LzEiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAg ICAgICAgICAgIF0sCj4gKyAgICAgICAgICAgIHJhbmdlLnRvX2NpZHJzKCkuYXNfc2xpY2UoKQo+ ICsgICAgICAgICk7Cj4gKwo+ICsgICAgICAgIGxldCByYW5nZSA9IEFkZHJlc3NSYW5nZTo6bmV3 X3Y2KAo+ICsgICAgICAgICAgICBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMF0sCj4gKyAgICAgICAg ICAgIFsKPiArICAgICAgICAgICAgICAgIDB4RkZGRiwgMHhGRkZGLCAweEZGRkYsIDB4RkZGRiwg MHhGRkZGLCAweEZGRkYsIDB4RkZGRiwgMHhGRkZFLAo+ICsgICAgICAgICAgICBdLAo+ICsgICAg ICAgICkKPiArICAgICAgICAudW53cmFwKCk7Cj4gKwo+ICsgICAgICAgIGFzc2VydF9lcSEoCj4g KyAgICAgICAgICAgIFsKPiArICAgICAgICAgICAgICAgICI6Oi8xIi5wYXJzZTo6PElwdjZDaWRy PigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgIjgwMDA6Oi8yIi5wYXJzZTo6PElwdjZD aWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImMwMDA6Oi8zIi5wYXJzZTo6PElw djZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImUwMDA6Oi80Ii5wYXJzZTo6 PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImYwMDA6Oi81Ii5wYXJz ZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImY4MDA6Oi82Ii5w YXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZjMDA6Oi83 Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZlMDA6 Oi84Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZm MDA6Oi85Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAg ImZmODA6Oi8xMCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAg ICAgICJmZmMwOjovMTEiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAg ICAgICAgICAiZmZlMDo6LzEyIi5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAg ICAgICAgICAgICAgImZmZjA6Oi8xMyIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgICJmZmY4OjovMTQiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICAiZmZmYzo6LzE1Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3Jh cCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmU6Oi8xNiIucGFyc2U6OjxJcHY2Q2lkcj4oKS51 bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOjovMTciLnBhcnNlOjo8SXB2NkNpZHI+ KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjo4MDAwOjovMTgiLnBhcnNlOjo8 SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpjMDAwOjovMTki LnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpl MDAwOjovMjAiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAg ICAiZmZmZjpmMDAwOjovMjEiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAg ICAgICAgICAgICAiZmZmZjpmODAwOjovMjIiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmYzAwOjovMjMiLnBhcnNlOjo8SXB2NkNpZHI+KCku dW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZTAwOjovMjQiLnBhcnNlOjo8SXB2 NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZjAwOjovMjUiLnBh cnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZjgw OjovMjYiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAi ZmZmZjpmZmMwOjovMjciLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAg ICAgICAgICAiZmZmZjpmZmUwOjovMjgiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4g KyAgICAgICAgICAgICAgICAiZmZmZjpmZmYwOjovMjkiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53 cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmY4OjovMzAiLnBhcnNlOjo8SXB2NkNp ZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZjOjovMzEiLnBhcnNl Ojo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZlOjov MzIiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZm ZjpmZmZmOjovMzMiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAg ICAgICAiZmZmZjpmZmZmOjgwMDA6Oi8zNCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwK PiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6YzAwMDo6LzM1Ii5wYXJzZTo6PElwdjZDaWRy PigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjplMDAwOjovMzYiLnBh cnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZm OmYwMDA6Oi8zNyIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAg ICAgICJmZmZmOmZmZmY6ZjgwMDo6LzM4Ii5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmYzAwOjovMzkiLnBhcnNlOjo8SXB2NkNpZHI+ KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZlMDA6Oi80MCIucGFy c2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6 ZmYwMDo6LzQxIi5wYXJzZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAg ICAgImZmZmY6ZmZmZjpmZjgwOjovNDIiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4g KyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmYzA6Oi80MyIucGFyc2U6OjxJcHY2Q2lkcj4o KS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZlMDo6LzQ0Ii5wYXJz ZTo6PElwdjZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpm ZmYwOjovNDUiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAg ICAiZmZmZjpmZmZmOmZmZjg6Oi80NiIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiAr ICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmYzo6LzQ3Ii5wYXJzZTo6PElwdjZDaWRyPigp LnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZlOjovNDgiLnBhcnNl Ojo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZm ZmY6Oi80OSIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAg ICJmZmZmOmZmZmY6ZmZmZjo4MDAwOjovNTAiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6YzAwMDo6LzUxIi5wYXJzZTo6PElw djZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZmOmUw MDA6Oi81MiIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAg ICJmZmZmOmZmZmY6ZmZmZjpmMDAwOjovNTMiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZjgwMDo6LzU0Ii5wYXJzZTo6PElw djZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZmOmZj MDA6Oi81NSIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAg ICJmZmZmOmZmZmY6ZmZmZjpmZTAwOjovNTYiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmYwMDo6LzU3Ii5wYXJzZTo6PElw djZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZmOmZm ODA6Oi81OCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAg ICJmZmZmOmZmZmY6ZmZmZjpmZmMwOjovNTkiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZlMDo6LzYwIi5wYXJzZTo6PElw djZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZmOmZm ZjA6Oi82MSIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAg ICJmZmZmOmZmZmY6ZmZmZjpmZmY4OjovNjIiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmYzo6LzYzIi5wYXJzZTo6PElw djZDaWRyPigpLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZmOmZm ZmU6Oi82NCIucGFyc2U6OjxJcHY2Q2lkcj4oKS51bndyYXAoKSwKPiArICAgICAgICAgICAgICAg ICJmZmZmOmZmZmY6ZmZmZjpmZmZmOjovNjUiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjo4MDAwOjovNjYiLnBhcnNl Ojo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZm ZmY6ZmZmZjpjMDAwOjovNjciLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAg ICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjplMDAwOjovNjgiLnBhcnNlOjo8SXB2NkNp ZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpm MDAwOjovNjkiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAg ICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmODAwOjovNzAiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53 cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmYzAwOjovNzEi LnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpm ZmZmOmZmZmY6ZmZmZjpmZTAwOjovNzIiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4g KyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZjAwOjovNzMiLnBhcnNlOjo8 SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6 ZmZmZjpmZjgwOjovNzQiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAg ICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmMwOjovNzUiLnBhcnNlOjo8SXB2NkNpZHI+ KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmUw OjovNzYiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAi ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmYwOjovNzciLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFw KCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmY4OjovNzgiLnBh cnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZm OmZmZmY6ZmZmZjpmZmZjOjovNzkiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAg ICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZlOjovODAiLnBhcnNlOjo8SXB2 NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZm ZjpmZmZmOjovODEiLnBhcnNlOjo8SXB2NkNpZHI+KCkudW53cmFwKCksCj4gKyAgICAgICAgICAg ICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOjgwMDA6Oi84MiIKPiArICAgICAgICAgICAg ICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAgICAgICAgICAgIC51bndy YXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6YzAwMDo6 LzgzIgo+ICsgICAgICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRyPigpCj4gKyAgICAg ICAgICAgICAgICAgICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpm ZmZmOmZmZmY6ZmZmZjplMDAwOjovODQiCj4gKyAgICAgICAgICAgICAgICAgICAgLnBhcnNlOjo8 SXB2NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFwKCksCj4gKyAgICAgICAg ICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmYwMDA6Oi84NSIKPiArICAgICAgICAg ICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAgICAgICAgICAgIC51 bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6Zjgw MDo6Lzg2Igo+ICsgICAgICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRyPigpCj4gKyAg ICAgICAgICAgICAgICAgICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZm ZjpmZmZmOmZmZmY6ZmZmZjpmYzAwOjovODciCj4gKyAgICAgICAgICAgICAgICAgICAgLnBhcnNl Ojo8SXB2NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFwKCksCj4gKyAgICAg ICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZlMDA6Oi84OCIKPiArICAgICAg ICAgICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAgICAgICAgICAg IC51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6 ZmYwMDo6Lzg5Igo+ICsgICAgICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRyPigpCj4g KyAgICAgICAgICAgICAgICAgICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6 ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZjgwOjovOTAiCj4gKyAgICAgICAgICAgICAgICAgICAgLnBh cnNlOjo8SXB2NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFwKCksCj4gKyAg ICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmYzA6Oi85MSIKPiArICAg ICAgICAgICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAgICAgICAg ICAgIC51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZm ZmY6ZmZlMDo6LzkyIgo+ICsgICAgICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRyPigp Cj4gKyAgICAgICAgICAgICAgICAgICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZm ZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmYwOjovOTMiCj4gKyAgICAgICAgICAgICAgICAgICAg LnBhcnNlOjo8SXB2NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFwKCksCj4g KyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZjg6Oi85NCIKPiAr ICAgICAgICAgICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAgICAg ICAgICAgIC51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmZjpmZmZm OmZmZmY6ZmZmYzo6Lzk1Igo+ICsgICAgICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRy PigpCj4gKyAgICAgICAgICAgICAgICAgICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAg ImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZlOjovOTYiCj4gKyAgICAgICAgICAgICAgICAg ICAgLnBhcnNlOjo8SXB2NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFwKCks Cj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6Oi85NyIK PiArICAgICAgICAgICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAg ICAgICAgICAgIC51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmZjpm ZmZmOmZmZmY6ZmZmZjo4MDAwOjAvOTgiCj4gKyAgICAgICAgICAgICAgICAgICAgLnBhcnNlOjo8 SXB2NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFwKCksCj4gKyAgICAgICAg ICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6YzAwMDowLzk5Igo+ICsgICAg ICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRyPigpCj4gKyAgICAgICAgICAgICAgICAg ICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZm ZjpmZmZmOmUwMDA6MC8xMDAiCj4gKyAgICAgICAgICAgICAgICAgICAgLnBhcnNlOjo8SXB2NkNp ZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFwKCksCj4gKyAgICAgICAgICAgICAg ICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZjAwMDowLzEwMSIKPiArICAgICAgICAg ICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAgICAgICAgICAgIC51 bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZm ZjpmODAwOjAvMTAyIgo+ICsgICAgICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRyPigp Cj4gKyAgICAgICAgICAgICAgICAgICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZm ZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZjMDA6MC8xMDMiCj4gKyAgICAgICAgICAgICAg ICAgICAgLnBhcnNlOjo8SXB2NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFw KCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmUw MDowLzEwNCIKPiArICAgICAgICAgICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsg ICAgICAgICAgICAgICAgICAgIC51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZm ZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZjAwOjAvMTA1Igo+ICsgICAgICAgICAgICAgICAgICAg IC5wYXJzZTo6PElwdjZDaWRyPigpCj4gKyAgICAgICAgICAgICAgICAgICAgLnVud3JhcCgpLAo+ ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmODA6MC8x MDYiCj4gKyAgICAgICAgICAgICAgICAgICAgLnBhcnNlOjo8SXB2NkNpZHI+KCkKPiArICAgICAg ICAgICAgICAgICAgICAudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZm ZmY6ZmZmZjpmZmZmOmZmZmY6ZmZjMDowLzEwNyIKPiArICAgICAgICAgICAgICAgICAgICAucGFy c2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAgICAgICAgICAgIC51bndyYXAoKSwKPiArICAg ICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmUwOjAvMTA4Igo+ ICsgICAgICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRyPigpCj4gKyAgICAgICAgICAg ICAgICAgICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZmOmZm ZmY6ZmZmZjpmZmZmOmZmZjA6MC8xMDkiCj4gKyAgICAgICAgICAgICAgICAgICAgLnBhcnNlOjo8 SXB2NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFwKCksCj4gKyAgICAgICAg ICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmODowLzExMCIKPiArICAg ICAgICAgICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAgICAgICAg ICAgIC51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZm ZmY6ZmZmZjpmZmZjOjAvMTExIgo+ICsgICAgICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZD aWRyPigpCj4gKyAgICAgICAgICAgICAgICAgICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAg ICAgImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmU6MC8xMTIiCj4gKyAgICAgICAg ICAgICAgICAgICAgLnBhcnNlOjo8SXB2NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAu dW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZm ZmY6ZmZmZjowLzExMyIKPiArICAgICAgICAgICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4o KQo+ICsgICAgICAgICAgICAgICAgICAgIC51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJm ZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOjgwMDAvMTE0Igo+ICsgICAgICAgICAg ICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRyPigpCj4gKyAgICAgICAgICAgICAgICAgICAgLnVu d3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZm OmZmZmY6YzAwMC8xMTUiCj4gKyAgICAgICAgICAgICAgICAgICAgLnBhcnNlOjo8SXB2NkNpZHI+ KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAi ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjplMDAwLzExNiIKPiArICAgICAgICAg ICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAgICAgICAgICAgIC51 bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZm ZjpmZmZmOmYwMDAvMTE3Igo+ICsgICAgICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRy PigpCj4gKyAgICAgICAgICAgICAgICAgICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAg ImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZjgwMC8xMTgiCj4gKyAgICAgICAg ICAgICAgICAgICAgLnBhcnNlOjo8SXB2NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAu dW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZm ZmY6ZmZmZjpmYzAwLzExOSIKPiArICAgICAgICAgICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lk cj4oKQo+ICsgICAgICAgICAgICAgICAgICAgIC51bndyYXAoKSwKPiArICAgICAgICAgICAgICAg ICJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZlMDAvMTIwIgo+ICsgICAgICAg ICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRyPigpCj4gKyAgICAgICAgICAgICAgICAgICAg LnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpm ZmZmOmZmZmY6ZmYwMC8xMjEiCj4gKyAgICAgICAgICAgICAgICAgICAgLnBhcnNlOjo8SXB2NkNp ZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFwKCksCj4gKyAgICAgICAgICAgICAg ICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZjgwLzEyMiIKPiArICAgICAg ICAgICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAgICAgICAgICAg IC51bndyYXAoKSwKPiArICAgICAgICAgICAgICAgICJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6 ZmZmZjpmZmZmOmZmYzAvMTIzIgo+ICsgICAgICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZD aWRyPigpCj4gKyAgICAgICAgICAgICAgICAgICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAg ICAgImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZlMC8xMjQiCj4gKyAgICAg ICAgICAgICAgICAgICAgLnBhcnNlOjo8SXB2NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAg ICAudW53cmFwKCksCj4gKyAgICAgICAgICAgICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZm OmZmZmY6ZmZmZjpmZmYwLzEyNSIKPiArICAgICAgICAgICAgICAgICAgICAucGFyc2U6OjxJcHY2 Q2lkcj4oKQo+ICsgICAgICAgICAgICAgICAgICAgIC51bndyYXAoKSwKPiArICAgICAgICAgICAg ICAgICJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZjgvMTI2Igo+ICsgICAg ICAgICAgICAgICAgICAgIC5wYXJzZTo6PElwdjZDaWRyPigpCj4gKyAgICAgICAgICAgICAgICAg ICAgLnVud3JhcCgpLAo+ICsgICAgICAgICAgICAgICAgImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZm ZjpmZmZmOmZmZmY6ZmZmYy8xMjciCj4gKyAgICAgICAgICAgICAgICAgICAgLnBhcnNlOjo8SXB2 NkNpZHI+KCkKPiArICAgICAgICAgICAgICAgICAgICAudW53cmFwKCksCj4gKyAgICAgICAgICAg ICAgICAiZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZlLzEyOCIKPiArICAg ICAgICAgICAgICAgICAgICAucGFyc2U6OjxJcHY2Q2lkcj4oKQo+ICsgICAgICAgICAgICAgICAg ICAgIC51bndyYXAoKSwKPiArICAgICAgICAgICAgXSwKPiArICAgICAgICAgICAgcmFuZ2UudG9f Y2lkcnMoKS5hc19zbGljZSgpCj4gKyAgICAgICAgKTsKPiArCj4gKyAgICAgICAgbGV0IHJhbmdl ID0KPiArICAgICAgICAgICAgQWRkcmVzc1JhbmdlOjpuZXdfdjYoWzAsIDAsIDAsIDAsIDAsIDAs IDAsIDBdLCBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMF0pLnVud3JhcCgpOwo+ICsKPiArICAgICAg ICBhc3NlcnRfZXEhKAo+ICsgICAgICAgICAgICBbSXB2NkNpZHI6Om5ldyhbMCwgMCwgMCwgMCwg MCwgMCwgMCwgMF0sIDEyOCkudW53cmFwKCksXSwKPiArICAgICAgICAgICAgcmFuZ2UudG9fY2lk cnMoKS5hc19zbGljZSgpCj4gKyAgICAgICAgKTsKPiArCj4gKyAgICAgICAgbGV0IHJhbmdlID0g QWRkcmVzc1JhbmdlOjpuZXdfdjYoCj4gKyAgICAgICAgICAgIFsKPiArICAgICAgICAgICAgICAg IDB4RkZGRiwgMHhGRkZGLCAweEZGRkYsIDB4RkZGRiwgMHhGRkZGLCAweEZGRkYsIDB4RkZGRiwg MHhGRkZGLAo+ICsgICAgICAgICAgICBdLAo+ICsgICAgICAgICAgICBbCj4gKyAgICAgICAgICAg ICAgICAweEZGRkYsIDB4RkZGRiwgMHhGRkZGLCAweEZGRkYsIDB4RkZGRiwgMHhGRkZGLCAweEZG RkYsIDB4RkZGRiwKPiArICAgICAgICAgICAgXSwKPiArICAgICAgICApCj4gKyAgICAgICAgLnVu d3JhcCgpOwo+ICsKPiArICAgICAgICBhc3NlcnRfZXEhKAo+ICsgICAgICAgICAgICBbSXB2NkNp ZHI6Om5ldygKPiArICAgICAgICAgICAgICAgIFsweEZGRkYsIDB4RkZGRiwgMHhGRkZGLCAweEZG RkYsIDB4RkZGRiwgMHhGRkZGLCAweEZGRkYsIDB4RkZGRl0sCj4gKyAgICAgICAgICAgICAgICAx MjgKPiArICAgICAgICAgICAgKQo+ICsgICAgICAgICAgICAudW53cmFwKCksXSwKPiArICAgICAg ICAgICAgcmFuZ2UudG9fY2lkcnMoKS5hc19zbGljZSgpCj4gKyAgICAgICAgKTsKPiArICAgIH0K PiArfQo+IGRpZmYgLS1naXQgYS9wcm94bW94LW5ldHdvcmstdHlwZXMvc3JjL2xpYi5ycyBiL3By b3htb3gtbmV0d29yay10eXBlcy9zcmMvbGliLnJzCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBp bmRleCAwMDAwMDAwMDAwMDAuLmVlMjZiMWMxN2FiMwo+IC0tLSAvZGV2L251bGwKPiArKysgYi9w cm94bW94LW5ldHdvcmstdHlwZXMvc3JjL2xpYi5ycwo+IEBAIC0wLDAgKzEsNSBAQAo+ICsjIVtj ZmdfYXR0cihkb2NzcnMsIGZlYXR1cmUoZG9jX2NmZywgZG9jX2F1dG9fY2ZnKSldCj4gKyMhW2Rl bnkodW5zYWZlX29wX2luX3Vuc2FmZV9mbildCj4gKwo+ICtwdWIgbW9kIGlwX2FkZHJlc3M7Cj4g K3B1YiBtb2QgbWFjX2FkZHJlc3M7Cj4gZGlmZiAtLWdpdCBhL3Byb3htb3gtbmV0d29yay10eXBl cy9zcmMvbWFjX2FkZHJlc3MucnMgYi9wcm94bW94LW5ldHdvcmstdHlwZXMvc3JjL21hY19hZGRy ZXNzLnJzCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLmQzNDcw NzZlYmQ0OQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9wcm94bW94LW5ldHdvcmstdHlwZXMvc3Jj L21hY19hZGRyZXNzLnJzCj4gQEAgLTAsMCArMSwxMjEgQEAKPiArdXNlIHN0ZDo6Zm10OjpEaXNw bGF5Owo+ICt1c2Ugc3RkOjpuZXQ6OklwdjZBZGRyOwo+ICsKPiArdXNlIHNlcmRlX3dpdGg6OntE ZXNlcmlhbGl6ZUZyb21TdHIsIFNlcmlhbGl6ZURpc3BsYXl9Owo+ICt1c2UgdGhpc2Vycm9yOjpF cnJvcjsKPiArCj4gKyNbZGVyaXZlKEVycm9yLCBEZWJ1ZyldCj4gK3B1YiBlbnVtIE1hY0FkZHJl c3NFcnJvciB7Cj4gKyAgICAjW2Vycm9yKCJ0aGUgaG9zdG5hbWUgbXVzdCBiZSBmcm9tIDEgdG8g NjMgY2hhcmFjdGVycyBsb25nIildCj4gKyAgICBJbnZhbGlkTGVuZ3RoLAo+ICsgICAgI1tlcnJv cigidGhlIGhvc3RuYW1lIGNvbnRhaW5zIGludmFsaWQgc3ltYm9scyIpXQo+ICsgICAgSW52YWxp ZFN5bWJvbHMsCj4gK30KPiArCj4gKy8vLyBFVUktNDggTUFDIEFkZHJlc3MKPiArI1tkZXJpdmUo Cj4gKyAgICBDbG9uZSwgQ29weSwgRGVidWcsIERlc2VyaWFsaXplRnJvbVN0ciwgU2VyaWFsaXpl RGlzcGxheSwgUGFydGlhbEVxLCBFcSwgSGFzaCwgUGFydGlhbE9yZCwgT3JkLAo+ICspXQo+ICtw dWIgc3RydWN0IE1hY0FkZHJlc3MoW3U4OyA2XSk7Cj4gKwo+ICtzdGF0aWMgTE9DQUxfUEFSVDog W3U4OyA4XSA9IFsweEZFLCAweDgwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw XTsKPiArc3RhdGljIEVVSTY0X01JRERMRV9QQVJUOiBbdTg7IDJdID0gWzB4RkYsIDB4RkVdOwo+ ICsKPiAraW1wbCBNYWNBZGRyZXNzIHsKPiArICAgIHB1YiBmbiBuZXcoYWRkcmVzczogW3U4OyA2 XSkgLT4gU2VsZiB7Cj4gKyAgICAgICAgU2VsZihhZGRyZXNzKQo+ICsgICAgfQo+ICsKPiArICAg IC8vLyBnZW5lcmF0ZXMgYSBsaW5rIGxvY2FsIElQdjYtYWRkcmVzcyBhY2NvcmRpbmcgdG8gUkZD IDQyOTEgKEFwcGVuZGl4IEEpCj4gKyAgICBwdWIgZm4gZXVpNjRfbGlua19sb2NhbF9hZGRyZXNz KCZzZWxmKSAtPiBJcHY2QWRkciB7Cj4gKyAgICAgICAgbGV0IGhlYWQgPSAmc2VsZi4wWy4uM107 Cj4gKyAgICAgICAgbGV0IHRhaWwgPSAmc2VsZi4wWzMuLl07Cj4gKwo+ICsgICAgICAgIGxldCBt dXQgZXVpNjRfYWRkcmVzczogVmVjPHU4PiA9IExPQ0FMX1BBUlQKPiArICAgICAgICAgICAgLml0 ZXIoKQo+ICsgICAgICAgICAgICAuY2hhaW4oaGVhZC5pdGVyKCkpCj4gKyAgICAgICAgICAgIC5j aGFpbihFVUk2NF9NSURETEVfUEFSVC5pdGVyKCkpCj4gKyAgICAgICAgICAgIC5jaGFpbih0YWls Lml0ZXIoKSkKPiArICAgICAgICAgICAgLmNvcGllZCgpCj4gKyAgICAgICAgICAgIC5jb2xsZWN0 KCk7Cj4gKwo+ICsgICAgICAgIC8vIHdlIG5lZWQgdG8gZmxpcCB0aGUgN3RoIGJpdCBvZiB0aGUg Zmlyc3QgZXVpNjQgYnl0ZQo+ICsgICAgICAgIGV1aTY0X2FkZHJlc3NbOF0gXj0gMHgwMjsKPiAr Cj4gKyAgICAgICAgSXB2NkFkZHI6OmZyb20oCj4gKyAgICAgICAgICAgIFRyeUludG86OjxbdTg7 IDE2XT46OnRyeV9pbnRvKGV1aTY0X2FkZHJlc3MpLmV4cGVjdCgiaXMgYW4gdTggYXJyYXkgd2l0 aCAxNiBlbnRyaWVzIiksCj4gKyAgICAgICAgKQo+ICsgICAgfQo+ICt9Cj4gKwo+ICtpbXBsIHN0 ZDo6c3RyOjpGcm9tU3RyIGZvciBNYWNBZGRyZXNzIHsKPiArICAgIHR5cGUgRXJyID0gTWFjQWRk cmVzc0Vycm9yOwo+ICsKPiArICAgIGZuIGZyb21fc3RyKHM6ICZzdHIpIC0+IFJlc3VsdDxTZWxm LCBTZWxmOjpFcnI+IHsKPiArICAgICAgICBsZXQgc3BsaXQgPSBzLnNwbGl0KCc6Jyk7Cj4gKwo+ ICsgICAgICAgIGxldCBwYXJzZWQgPSBzcGxpdAo+ICsgICAgICAgICAgICAuaW50b19pdGVyKCkK PiArICAgICAgICAgICAgLm1hcCh8ZWxlbXwgdTg6OmZyb21fc3RyX3JhZGl4KGVsZW0sIDE2KSkK PiArICAgICAgICAgICAgLmNvbGxlY3Q6OjxSZXN1bHQ8VmVjPHU4PiwgXz4+KCkKPiArICAgICAg ICAgICAgLm1hcF9lcnIofF98IE1hY0FkZHJlc3NFcnJvcjo6SW52YWxpZFN5bWJvbHMpPzsKPiAr Cj4gKyAgICAgICAgaWYgcGFyc2VkLmxlbigpICE9IDYgewo+ICsgICAgICAgICAgICByZXR1cm4g RXJyKE1hY0FkZHJlc3NFcnJvcjo6SW52YWxpZExlbmd0aCk7Cj4gKyAgICAgICAgfQo+ICsKPiAr ICAgICAgICAvLyBTQUZFVFk6IG9rIGJlY2F1c2Ugb2YgbGVuZ3RoIGNoZWNrCj4gKyAgICAgICAg T2soU2VsZihwYXJzZWQudHJ5X2ludG8oKS51bndyYXAoKSkpCj4gKyAgICB9Cj4gK30KPiArCj4g K2ltcGwgRGlzcGxheSBmb3IgTWFjQWRkcmVzcyB7Cj4gKyAgICBmbiBmbXQoJnNlbGYsIGY6ICZt dXQgc3RkOjpmbXQ6OkZvcm1hdHRlcjwnXz4pIC0+IHN0ZDo6Zm10OjpSZXN1bHQgewo+ICsgICAg ICAgIHdyaXRlISgKPiArICAgICAgICAgICAgZiwKPiArICAgICAgICAgICAgIns6PDAyWH06ezo8 MDJYfTp7OjwwMlh9Ons6PDAyWH06ezo8MDJYfTp7OjwwMlh9IiwKPiArICAgICAgICAgICAgc2Vs Zi4wWzBdLCBzZWxmLjBbMV0sIHNlbGYuMFsyXSwgc2VsZi4wWzNdLCBzZWxmLjBbNF0sIHNlbGYu MFs1XQo+ICsgICAgICAgICkKPiArICAgIH0KPiArfQo+ICsKPiArI1tjZmcodGVzdCldCj4gK21v ZCB0ZXN0cyB7Cj4gKyAgICB1c2Ugc3VwZXI6Oio7Cj4gKyAgICB1c2Ugc3RkOjpzdHI6OkZyb21T dHI7CgpeIHN0ZCBpbXBvcnQgc2hvdWxkIGJlIGdyb3VwZWQgYmVmdXJlIHRoZSBgc3VwZXI6Oipg IG9uZS4KCj4gKwo+ICsgICAgI1t0ZXN0XQo+ICsgICAgZm4gdGVzdF9wYXJzZV9tYWNfYWRkcmVz cygpIHsKPiArICAgICAgICBmb3IgaW5wdXQgaW4gWwo+ICsgICAgICAgICAgICAiYWE6YWE6YWE6 MTE6MjI6MzMiLAo+ICsgICAgICAgICAgICAiQUE6QkI6RkY6MTE6MjI6MzMiLAo+ICsgICAgICAg ICAgICAiYmM6MjQ6MTE6QUE6YmI6RWYiLAo+ICsgICAgICAgIF0gewo+ICsgICAgICAgICAgICBs ZXQgbWFjX2FkZHJlc3MgPSBpbnB1dC5wYXJzZTo6PE1hY0FkZHJlc3M+KCkuZXhwZWN0KCJ2YWxp ZCBtYWMgYWRkcmVzcyIpOwo+ICsKPiArICAgICAgICAgICAgYXNzZXJ0X2VxIShpbnB1dC50b191 cHBlcmNhc2UoKSwgbWFjX2FkZHJlc3MudG9fc3RyaW5nKCkpOwo+ICsgICAgICAgIH0KPiArCj4g KyAgICAgICAgZm9yIGlucHV0IGluIFsKPiArICAgICAgICAgICAgImFhOmFhOmFhOjExOjIyOjMz OmFhIiwKPiArICAgICAgICAgICAgIkFBOkJCOkZGOjExOjIyIiwKPiArICAgICAgICAgICAgIkFB OkJCOkdHOjExOjIyOjMzIiwKPiArICAgICAgICAgICAgIkFBQkJHRzExMjIzMyIsCj4gKyAgICAg ICAgICAgICIiLAo+ICsgICAgICAgIF0gewo+ICsgICAgICAgICAgICBpbnB1dAo+ICsgICAgICAg ICAgICAgICAgLnBhcnNlOjo8TWFjQWRkcmVzcz4oKQo+ICsgICAgICAgICAgICAgICAgLmV4cGVj dF9lcnIoImludmFsaWQgbWFjIGFkZHJlc3MiKTsKPiArICAgICAgICB9Cj4gKyAgICB9Cj4gKwo+ ICsgICAgI1t0ZXN0XQo+ICsgICAgZm4gdGVzdF9ldWk2NF9saW5rX2xvY2FsX2FkZHJlc3MoKSB7 Cj4gKyAgICAgICAgbGV0IG1hY19hZGRyZXNzOiBNYWNBZGRyZXNzID0gIkJDOjI0OjExOjQ5OjhE Ojc1Ii5wYXJzZSgpLmV4cGVjdCgidmFsaWQgTUFDIGFkZHJlc3MiKTsKPiArCj4gKyAgICAgICAg bGV0IGxpbmtfbG9jYWxfYWRkcmVzcyA9Cj4gKyAgICAgICAgICAgIElwdjZBZGRyOjpmcm9tX3N0 cigiZmU4MDo6YmUyNDoxMWZmOmZlNDk6OGQ3NSIpLmV4cGVjdCgidmFsaWQgSVB2NiBhZGRyZXNz Iik7Cj4gKwo+ICsgICAgICAgIGFzc2VydF9lcSEobGlua19sb2NhbF9hZGRyZXNzLCBtYWNfYWRk cmVzcy5ldWk2NF9saW5rX2xvY2FsX2FkZHJlc3MoKSk7Cj4gKyAgICB9Cj4gK30KPiAtLSAKPiAy LjM5LjUKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpw dmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczov L2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK