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 1035D1FF183 for ; Wed, 2 Jul 2025 16:53:06 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 384BC1EBAB; Wed, 2 Jul 2025 16:51:46 +0200 (CEST) From: Gabriel Goller To: pve-devel@lists.proxmox.com Date: Wed, 2 Jul 2025 16:49:54 +0200 Message-Id: <20250702145101.894299-10-g.goller@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250702145101.894299-1-g.goller@proxmox.com> References: <20250702145101.894299-1-g.goller@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.019 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 SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH proxmox-ve-rs v4 03/22] sdn-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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" RnJvbTogU3RlZmFuIEhhbnJlaWNoIDxzLmhhbnJlaWNoQHByb3htb3guY29tPgoKVGhpcyBjcmF0 ZSBjb250YWlucyBTRE4gc3BlY2lmaWMgdHlwZXMsIHNvIHRoZXkgY2FuIGJlIHJlLXVzZWQgYWNy b3NzCm11bHRpcGxlIGNyYXRlcyAoVGhlIGluaXRpYWwgdXNlLWNhc2UgYmVpbmcgc2hhcmVkIHR5 cGVzIGJldHdlZW4KcHJveG1veC1mcnIgYW5kIHByb3htb3gtdmUtY29uZmlnKS4KClRoaXMgaW5p dGlhbCBjb21taXQgY29udGFpbnMgdHlwZXMgZm9yIHRoZSBmb2xsb3dpbmcgZW50aXRpZXM6Ciog T3BlbkZhYnJpYyBIZWxsbyBJbnRlcnZhbC9NdWx0aXBsaWVyIGFuZCBDU05QIEludGVydmFsCiog TmV0d29yayBFbnRpdHkgVGl0bGUgKHVzZWQgYXMgUm91dGVyIElEcyBpbiBJUy1JUyAvIE9wZW5G YWJyaWMpCiogT1NQRiBBcmVhCgpDby1hdXRob3JlZC1ieTogR2FicmllbCBHb2xsZXIgPGcuZ29s bGVyQHByb3htb3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gSGFucmVpY2ggPHMuaGFucmVp Y2hAcHJveG1veC5jb20+Ci0tLQogQ2FyZ28udG9tbCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMTAgKwogcHJveG1veC1zZG4tdHlwZXMvQ2FyZ28udG9tbCAgICAgICAgICAgfCAgMTkg KysKIHByb3htb3gtc2RuLXR5cGVzL2RlYmlhbi9jaGFuZ2Vsb2cgICAgIHwgICA1ICsKIHByb3ht b3gtc2RuLXR5cGVzL2RlYmlhbi9jb250cm9sICAgICAgIHwgIDUzICsrKysKIHByb3htb3gtc2Ru LXR5cGVzL2RlYmlhbi9jb3B5cmlnaHQgICAgIHwgIDE4ICsrCiBwcm94bW94LXNkbi10eXBlcy9k ZWJpYW4vZGViY2FyZ28udG9tbCB8ICAgNyArCiBwcm94bW94LXNkbi10eXBlcy9zcmMvYXJlYS5y cyAgICAgICAgICB8ICA2MyArKysrKwogcHJveG1veC1zZG4tdHlwZXMvc3JjL2xpYi5ycyAgICAg ICAgICAgfCAgIDMgKwogcHJveG1veC1zZG4tdHlwZXMvc3JjL25ldC5ycyAgICAgICAgICAgfCAz MjkgKysrKysrKysrKysrKysrKysrKysrKysrKwogcHJveG1veC1zZG4tdHlwZXMvc3JjL29wZW5m YWJyaWMucnMgICAgfCAgNzIgKysrKysrCiBwcm94bW94LXZlLWNvbmZpZy9DYXJnby50b21sICAg ICAgICAgICB8ICAgOCArLQogMTEgZmlsZXMgY2hhbmdlZCwgNTgzIGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgcHJveG1veC1zZG4tdHlwZXMvQ2FyZ28u dG9tbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHByb3htb3gtc2RuLXR5cGVzL2RlYmlhbi9jaGFuZ2Vs b2cKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwcm94bW94LXNkbi10eXBlcy9kZWJpYW4vY29udHJvbAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHByb3htb3gtc2RuLXR5cGVzL2RlYmlhbi9jb3B5cmlnaHQKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBwcm94bW94LXNkbi10eXBlcy9kZWJpYW4vZGViY2FyZ28udG9tbAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHByb3htb3gtc2RuLXR5cGVzL3NyYy9hcmVhLnJzCiBjcmVhdGUg bW9kZSAxMDA2NDQgcHJveG1veC1zZG4tdHlwZXMvc3JjL2xpYi5ycwogY3JlYXRlIG1vZGUgMTAw NjQ0IHByb3htb3gtc2RuLXR5cGVzL3NyYy9uZXQucnMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwcm94 bW94LXNkbi10eXBlcy9zcmMvb3BlbmZhYnJpYy5ycwoKZGlmZiAtLWdpdCBhL0NhcmdvLnRvbWwg Yi9DYXJnby50b21sCmluZGV4IGI2ZTZkZjc3OTY5Yi4uMDdkYTllZjcwZTZkIDEwMDY0NAotLS0g YS9DYXJnby50b21sCisrKyBiL0NhcmdvLnRvbWwKQEAgLTEsNiArMSw3IEBACiBbd29ya3NwYWNl XQogbWVtYmVycyA9IFsKICAgICAicHJveG1veC12ZS1jb25maWciLAorICAgICJwcm94bW94LXNk bi10eXBlcyIsCiBdCiBleGNsdWRlID0gWwogICAgICJidWlsZCIsCkBAIC0xNiw0ICsxNywxMyBA QCBleGNsdWRlID0gWyAiZGViaWFuIiBdCiBydXN0LXZlcnNpb24gPSAiMS44MiIKIAogW3dvcmtz cGFjZS5kZXBlbmRlbmNpZXNdCithbnlob3cgPSAiMSIKK2NvbnN0X2Zvcm1hdCA9ICIwLjIiCity ZWdleCA9ICIxLjciCitzZXJkZSA9IHsgdmVyc2lvbiA9ICIxIiB9CitzZXJkZV93aXRoID0gIjMi Cit0aGlzZXJyb3IgPSAiMi4wLjAiCisKIHByb3htb3gtbmV0d29yay10eXBlcyA9IHsgdmVyc2lv biA9ICIwLjEiIH0KK3Byb3htb3gtc2NoZW1hID0geyB2ZXJzaW9uID0gIjQiIH0KK3Byb3htb3gt c2RuLXR5cGVzID0geyB2ZXJzaW9uID0gIjAuMSIsIHBhdGggPSAicHJveG1veC1zZG4tdHlwZXMi IH0KZGlmZiAtLWdpdCBhL3Byb3htb3gtc2RuLXR5cGVzL0NhcmdvLnRvbWwgYi9wcm94bW94LXNk bi10eXBlcy9DYXJnby50b21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uOWEyMGIwNzFhMTI2Ci0tLSAvZGV2L251bGwKKysrIGIvcHJveG1veC1zZG4tdHlwZXMvQ2Fy Z28udG9tbApAQCAtMCwwICsxLDE5IEBACitbcGFja2FnZV0KK25hbWUgPSAicHJveG1veC1zZG4t dHlwZXMiCit2ZXJzaW9uID0gIjAuMS4wIgorYXV0aG9ycy53b3Jrc3BhY2UgPSB0cnVlCitlZGl0 aW9uLndvcmtzcGFjZSA9IHRydWUKK2xpY2Vuc2Uud29ya3NwYWNlID0gdHJ1ZQoraG9tZXBhZ2Uu d29ya3NwYWNlID0gdHJ1ZQorZXhjbHVkZS53b3Jrc3BhY2UgPSB0cnVlCitydXN0LXZlcnNpb24u d29ya3NwYWNlID0gdHJ1ZQorCitbZGVwZW5kZW5jaWVzXQorYW55aG93ID0geyB3b3Jrc3BhY2Ug PSB0cnVlIH0KK2NvbnN0X2Zvcm1hdCA9IHsgd29ya3NwYWNlID0gdHJ1ZSB9CityZWdleCA9IHsg d29ya3NwYWNlID0gdHJ1ZSB9CitzZXJkZSA9IHsgd29ya3NwYWNlID0gdHJ1ZSwgZmVhdHVyZXMg PSBbICJkZXJpdmUiIF0gfQorc2VyZGVfd2l0aCA9IHsgd29ya3NwYWNlID0gdHJ1ZSB9CisKK3By b3htb3gtc2NoZW1hID0geyB3b3Jrc3BhY2UgPSB0cnVlLCBmZWF0dXJlcyA9IFsgImFwaS1tYWNy byIsICJhcGktdHlwZXMiIF0gfQorcHJveG1veC1zZXJkZSA9IHsgdmVyc2lvbiA9ICIxLjAuMCIs IGZlYXR1cmVzID0gWyAicGVybCIgXSB9CmRpZmYgLS1naXQgYS9wcm94bW94LXNkbi10eXBlcy9k ZWJpYW4vY2hhbmdlbG9nIGIvcHJveG1veC1zZG4tdHlwZXMvZGViaWFuL2NoYW5nZWxvZwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQyMjkyMWMyZDFmNAotLS0gL2Rl di9udWxsCisrKyBiL3Byb3htb3gtc2RuLXR5cGVzL2RlYmlhbi9jaGFuZ2Vsb2cKQEAgLTAsMCAr MSw1IEBACitydXN0LXByb3htb3gtc2RuLXR5cGVzICgwLjEuMC0xKSB1bnN0YWJsZTsgdXJnZW5j eT1tZWRpdW0KKworICAqIEluaXRpYWwgcmVsZWFzZS4KKworIC0tIFByb3htb3ggU3VwcG9ydCBU ZWFtIDxzdXBwb3J0QHByb3htb3guY29tPiAgTW9uLCAwMyBKdW4gMjAyNCAxMDo1MToxMSArMDIw MApkaWZmIC0tZ2l0IGEvcHJveG1veC1zZG4tdHlwZXMvZGViaWFuL2NvbnRyb2wgYi9wcm94bW94 LXNkbi10eXBlcy9kZWJpYW4vY29udHJvbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLmJmZGI0N2ViMGI1NQotLS0gL2Rldi9udWxsCisrKyBiL3Byb3htb3gtc2RuLXR5 cGVzL2RlYmlhbi9jb250cm9sCkBAIC0wLDAgKzEsNTMgQEAKK1NvdXJjZTogcnVzdC1wcm94bW94 LXNkbi10eXBlcworU2VjdGlvbjogcnVzdAorUHJpb3JpdHk6IG9wdGlvbmFsCitCdWlsZC1EZXBl bmRzOiBkZWJoZWxwZXItY29tcGF0ICg9IDEzKSwKKyBkaC1zZXF1ZW5jZS1jYXJnbworQnVpbGQt RGVwZW5kcy1BcmNoOiBjYXJnbzpuYXRpdmUgPCFub2NoZWNrPiwKKyBydXN0YzpuYXRpdmUgKD49 IDEuODIpIDwhbm9jaGVjaz4sCisgbGlic3RkLXJ1c3QtZGV2IDwhbm9jaGVjaz4sCisgbGlicnVz dC1hbnlob3ctMStkZWZhdWx0LWRldiA8IW5vY2hlY2s+LAorIGxpYnJ1c3QtY29uc3QtZm9ybWF0 LTAuMitkZWZhdWx0LWRldiA8IW5vY2hlY2s+LAorIGxpYnJ1c3QtcHJveG1veC1zY2hlbWEtNCth cGktbWFjcm8tZGV2IDwhbm9jaGVjaz4sCisgbGlicnVzdC1wcm94bW94LXNjaGVtYS00K2FwaS10 eXBlcy1kZXYgPCFub2NoZWNrPiwKKyBsaWJydXN0LXByb3htb3gtc2NoZW1hLTQrZGVmYXVsdC1k ZXYgPCFub2NoZWNrPiwKKyBsaWJydXN0LXByb3htb3gtc2VyZGUtMC4xK2RlZmF1bHQtZGV2ICg+ PSAwLjEuMi1+fikgPCFub2NoZWNrPiwKKyBsaWJydXN0LXByb3htb3gtc2VyZGUtMC4xK3Blcmwt ZGV2ICg+PSAwLjEuMi1+fikgPCFub2NoZWNrPiwKKyBsaWJydXN0LXJlZ2V4LTErZGVmYXVsdC1k ZXYgKD49IDEuNy1+fikgPCFub2NoZWNrPiwKKyBsaWJydXN0LXNlcmRlLTErZGVmYXVsdC1kZXYg PCFub2NoZWNrPiwKKyBsaWJydXN0LXNlcmRlLTErZGVyaXZlLWRldiA8IW5vY2hlY2s+LAorIGxp YnJ1c3Qtc2VyZGUtd2l0aC0zK2RlZmF1bHQtZGV2IDwhbm9jaGVjaz4KK01haW50YWluZXI6IFBy b3htb3ggU3VwcG9ydCBUZWFtIDxzdXBwb3J0QHByb3htb3guY29tPgorU3RhbmRhcmRzLVZlcnNp b246IDQuNy4wCitWY3MtR2l0OiBnaXQ6Ly9naXQucHJveG1veC5jb20vZ2l0L3Byb3htb3gtdmUt cnMuZ2l0CitWY3MtQnJvd3NlcjogaHR0cHM6Ly9naXQucHJveG1veC5jb20vP3A9cHJveG1veC12 ZS1ycy5naXQKK0hvbWVwYWdlOiBodHRwczovL3Byb3htb3guY29tCitYLUNhcmdvLUNyYXRlOiBw cm94bW94LXNkbi10eXBlcworUnVsZXMtUmVxdWlyZXMtUm9vdDogbm8KKworUGFja2FnZTogbGli cnVzdC1wcm94bW94LXNkbi10eXBlcy1kZXYKK0FyY2hpdGVjdHVyZTogYW55CitNdWx0aS1BcmNo OiBzYW1lCitEZXBlbmRzOgorICR7bWlzYzpEZXBlbmRzfSwKKyBsaWJydXN0LWFueWhvdy0xK2Rl ZmF1bHQtZGV2LAorIGxpYnJ1c3QtY29uc3QtZm9ybWF0LTAuMitkZWZhdWx0LWRldiwKKyBsaWJy dXN0LXByb3htb3gtc2NoZW1hLTQrYXBpLW1hY3JvLWRldiwKKyBsaWJydXN0LXByb3htb3gtc2No ZW1hLTQrYXBpLXR5cGVzLWRldiwKKyBsaWJydXN0LXByb3htb3gtc2NoZW1hLTQrZGVmYXVsdC1k ZXYsCisgbGlicnVzdC1wcm94bW94LXNlcmRlLTAuMStkZWZhdWx0LWRldiAoPj0gMC4xLjItfn4p LAorIGxpYnJ1c3QtcHJveG1veC1zZXJkZS0wLjErcGVybC1kZXYgKD49IDAuMS4yLX5+KSwKKyBs aWJydXN0LXJlZ2V4LTErZGVmYXVsdC1kZXYgKD49IDEuNy1+fiksCisgbGlicnVzdC1zZXJkZS0x K2RlZmF1bHQtZGV2LAorIGxpYnJ1c3Qtc2VyZGUtMStkZXJpdmUtZGV2LAorIGxpYnJ1c3Qtc2Vy ZGUtd2l0aC0zK2RlZmF1bHQtZGV2CitQcm92aWRlczoKKyBsaWJydXN0LXByb3htb3gtc2RuLXR5 cGVzK2RlZmF1bHQtZGV2ICg9ICR7YmluYXJ5OlZlcnNpb259KSwKKyBsaWJydXN0LXByb3htb3gt c2RuLXR5cGVzLTAtZGV2ICg9ICR7YmluYXJ5OlZlcnNpb259KSwKKyBsaWJydXN0LXByb3htb3gt c2RuLXR5cGVzLTArZGVmYXVsdC1kZXYgKD0gJHtiaW5hcnk6VmVyc2lvbn0pLAorIGxpYnJ1c3Qt cHJveG1veC1zZG4tdHlwZXMtMC4xLWRldiAoPSAke2JpbmFyeTpWZXJzaW9ufSksCisgbGlicnVz dC1wcm94bW94LXNkbi10eXBlcy0wLjErZGVmYXVsdC1kZXYgKD0gJHtiaW5hcnk6VmVyc2lvbn0p LAorIGxpYnJ1c3QtcHJveG1veC1zZG4tdHlwZXMtMC4xLjAtZGV2ICg9ICR7YmluYXJ5OlZlcnNp b259KSwKKyBsaWJydXN0LXByb3htb3gtc2RuLXR5cGVzLTAuMS4wK2RlZmF1bHQtZGV2ICg9ICR7 YmluYXJ5OlZlcnNpb259KQorRGVzY3JpcHRpb246IFJ1c3QgY3JhdGUgInByb3htb3gtc2RuLXR5 cGVzIiAtIFJ1c3Qgc291cmNlIGNvZGUKKyBTb3VyY2UgY29kZSBmb3IgRGViaWFuaXplZCBSdXN0 IGNyYXRlICJwcm94bW94LXNkbi10eXBlcyIKZGlmZiAtLWdpdCBhL3Byb3htb3gtc2RuLXR5cGVz L2RlYmlhbi9jb3B5cmlnaHQgYi9wcm94bW94LXNkbi10eXBlcy9kZWJpYW4vY29weXJpZ2h0Cm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMWVhOGE1NmI0ZjU4Ci0tLSAv ZGV2L251bGwKKysrIGIvcHJveG1veC1zZG4tdHlwZXMvZGViaWFuL2NvcHlyaWdodApAQCAtMCww ICsxLDE4IEBACitGb3JtYXQ6IGh0dHBzOi8vd3d3LmRlYmlhbi5vcmcvZG9jL3BhY2thZ2luZy1t YW51YWxzL2NvcHlyaWdodC1mb3JtYXQvMS4wLworCitGaWxlczoKKyAqCitDb3B5cmlnaHQ6IDIw MTkgLSAyMDI1IFByb3htb3ggU2VydmVyIFNvbHV0aW9ucyBHbWJIIDxzdXBwb3J0QHByb3htb3gu Y29tPgorTGljZW5zZTogQUdQTC0zLjAtb3ItbGF0ZXIKKyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgor IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZQorIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55CisgbGF0ZXIgdmVyc2lv bi4KKyAuCisgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCisgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKKyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlCisgZGV0YWlscy4KKyAuCisgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisg d2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vu c2VzLz4uCmRpZmYgLS1naXQgYS9wcm94bW94LXNkbi10eXBlcy9kZWJpYW4vZGViY2FyZ28udG9t bCBiL3Byb3htb3gtc2RuLXR5cGVzL2RlYmlhbi9kZWJjYXJnby50b21sCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODdhNzg3ZTZkMDNlCi0tLSAvZGV2L251bGwKKysr IGIvcHJveG1veC1zZG4tdHlwZXMvZGViaWFuL2RlYmNhcmdvLnRvbWwKQEAgLTAsMCArMSw3IEBA CitvdmVybGF5ID0gIi4iCitjcmF0ZV9zcmNfcGF0aCA9ICIuLiIKK21haW50YWluZXIgPSAiUHJv eG1veCBTdXBwb3J0IFRlYW0gPHN1cHBvcnRAcHJveG1veC5jb20+IgorCitbc291cmNlXQordmNz X2dpdCA9ICJnaXQ6Ly9naXQucHJveG1veC5jb20vZ2l0L3Byb3htb3gtdmUtcnMuZ2l0IgordmNz X2Jyb3dzZXIgPSAiaHR0cHM6Ly9naXQucHJveG1veC5jb20vP3A9cHJveG1veC12ZS1ycy5naXQi CmRpZmYgLS1naXQgYS9wcm94bW94LXNkbi10eXBlcy9zcmMvYXJlYS5ycyBiL3Byb3htb3gtc2Ru LXR5cGVzL3NyYy9hcmVhLnJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uNzFkMmQ1M2JhMDJmCi0tLSAvZGV2L251bGwKKysrIGIvcHJveG1veC1zZG4tdHlwZXMvc3Jj L2FyZWEucnMKQEAgLTAsMCArMSw2MyBAQAordXNlIHN0ZDo6e2ZtdDo6RGlzcGxheSwgbmV0OjpJ cHY0QWRkcn07CisKK3VzZSBhbnlob3c6OkVycm9yOwordXNlIHByb3htb3hfc2NoZW1hOjp7QXBp VHlwZSwgU2NoZW1hLCBTdHJpbmdTY2hlbWEsIFVwZGF0ZXJUeXBlfTsKK3VzZSBzZXJkZV93aXRo Ojp7RGVzZXJpYWxpemVGcm9tU3RyLCBTZXJpYWxpemVEaXNwbGF5fTsKKworLy8vIEFuIE9TUEYg QXJlYS4KKy8vLworLy8vIEludGVybmFsbHkgdGhlIGFyZWEgaXMganVzdCBhIDMyIGJpdCBudW1i ZXIgYW5kIGlzIG9mdGVuIHJlcHJlc2VudGVkIGluIGRvdHRlZC1kZWNpbWFsCisvLy8gbm90YXRp b24sIGxpa2UgYW4gSVB2NC4gRlJSIGFsc28gYWxsb3dzIHVzIHRvIHNwZWNpZnkgaXQgYXMgYSBu dW1iZXIgb3IgYW4gSVB2NC1BZGRyZXNzLgorLy8vIFRvIGtlZXAgYSBuaWNlIHVzZXIgZXhwZXJp ZW5jZSB3ZSBrZWVwIHdoaWNoZXZlciBmb3JtYXQgdGhlIHVzZXIgZW50ZXJlZC4KKyNbZGVyaXZl KAorICAgIERlYnVnLCBEZXNlcmlhbGl6ZUZyb21TdHIsIFNlcmlhbGl6ZURpc3BsYXksIENsb25l LCBIYXNoLCBQYXJ0aWFsRXEsIEVxLCBQYXJ0aWFsT3JkLCBPcmQsCispXQorcHViIGVudW0gQXJl YSB7CisgICAgTnVtYmVyKHUzMiksCisgICAgSXBBZGRyZXNzKElwdjRBZGRyKSwKK30KKworaW1w bCBBcGlUeXBlIGZvciBBcmVhIHsKKyAgICBjb25zdCBBUElfU0NIRU1BOiBTY2hlbWEgPQorICAg ICAgICBTdHJpbmdTY2hlbWE6Om5ldygiVGhlIE9TUEYgYXJlYSwgd2hpY2ggY2FuIGJlIGEgbnVt YmVyIG9yIGEgaXAtYWRkcmVzcy4iKS5zY2hlbWEoKTsKK30KKworaW1wbCBVcGRhdGVyVHlwZSBm b3IgQXJlYSB7CisgICAgdHlwZSBVcGRhdGVyID0gT3B0aW9uPEFyZWE+OworfQorCitpbXBsIHN0 ZDo6c3RyOjpGcm9tU3RyIGZvciBBcmVhIHsKKyAgICB0eXBlIEVyciA9IEVycm9yOworCisgICAg Zm4gZnJvbV9zdHIoczogJnN0cikgLT4gUmVzdWx0PFNlbGYsIFNlbGY6OkVycj4geworICAgICAg ICBpZiBsZXQgT2soaXApID0gSXB2NEFkZHI6OmZyb21fc3RyKHMpIHsKKyAgICAgICAgICAgIE9r KFNlbGY6OklwQWRkcmVzcyhpcCkpCisgICAgICAgIH0gZWxzZSBpZiBsZXQgT2sobnVtYmVyKSA9 IHUzMjo6ZnJvbV9zdHIocykgeworICAgICAgICAgICAgT2soU2VsZjo6TnVtYmVyKG51bWJlcikp CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBhbnlob3c6OmJhaWwhKCJBcmVhIGlzIG5v dCBhIG51bWJlciwgbm9yIGFuIGlwIGFkZHJlc3MiKTsKKyAgICAgICAgfQorICAgIH0KK30KKwor aW1wbCBEaXNwbGF5IGZvciBBcmVhIHsKKyAgICBmbiBmbXQoJnNlbGYsIGY6ICZtdXQgc3RkOjpm bXQ6OkZvcm1hdHRlcjwnXz4pIC0+IHN0ZDo6Zm10OjpSZXN1bHQgeworICAgICAgICBtYXRjaCBz ZWxmIHsKKyAgICAgICAgICAgIEFyZWE6Ok51bWJlcihuKSA9PiB3cml0ZSEoZiwgIntufSIpLAor ICAgICAgICAgICAgQXJlYTo6SXBBZGRyZXNzKGkpID0+IHdyaXRlIShmLCAie2l9IiksCisgICAg ICAgIH0KKyAgICB9Cit9CisKK2ltcGwgQXJlYSB7CisgICAgLy8vIEdldCB0aGUgSVB2NCByZXBy ZXNlbnRhdGlvbiBvZiB0aGUgYXJlYS4KKyAgICAvLy8KKyAgICAvLy8gSWYgaXQgYWxyZWFkeSBp cyBzdG9yZWQgYXMgYSBhbiBJUHY0IGFkZHJlc3MsIGl0IGlzIHJldHVybmVkIGRpcmVjdGx5Lgor ICAgIC8vLyBPdGhlcndpc2UsIHRoZSBudW1iZXIgaXMgY29udmVydGVkIHRvIGFuIElQdjQgYWRk cmVzcy4KKyAgICBwdWIgZm4gZ2V0X2lwdjRfcmVwcmVzZW50YXRpb24oJnNlbGYpIC0+IElwdjRB ZGRyIHsKKyAgICAgICAgbWF0Y2ggc2VsZiB7CisgICAgICAgICAgICBBcmVhOjpOdW1iZXIobikg PT4gSXB2NEFkZHI6OmZyb20oKm4pLAorICAgICAgICAgICAgQXJlYTo6SXBBZGRyZXNzKGlwKSA9 PiAqaXAsCisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9wcm94bW94LXNkbi10eXBl cy9zcmMvbGliLnJzIGIvcHJveG1veC1zZG4tdHlwZXMvc3JjL2xpYi5ycwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjE2NTZmMWQ0NGI5NQotLS0gL2Rldi9udWxsCisr KyBiL3Byb3htb3gtc2RuLXR5cGVzL3NyYy9saWIucnMKQEAgLTAsMCArMSwzIEBACitwdWIgbW9k IGFyZWE7CitwdWIgbW9kIG5ldDsKK3B1YiBtb2Qgb3BlbmZhYnJpYzsKZGlmZiAtLWdpdCBhL3By b3htb3gtc2RuLXR5cGVzL3NyYy9uZXQucnMgYi9wcm94bW94LXNkbi10eXBlcy9zcmMvbmV0LnJz Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNzhhNDc5ODNmMGM3Ci0t LSAvZGV2L251bGwKKysrIGIvcHJveG1veC1zZG4tdHlwZXMvc3JjL25ldC5ycwpAQCAtMCwwICsx LDMyOSBAQAordXNlIHN0ZDo6eworICAgIGZtdDo6RGlzcGxheSwKKyAgICBuZXQ6OntJcEFkZHIs IElwdjRBZGRyLCBJcHY2QWRkcn0sCit9OworCit1c2UgYW55aG93Ojp7YmFpbCwgRXJyb3J9Owor dXNlIGNvbnN0X2Zvcm1hdDo6Y29uY2F0Y3A7Cit1c2Ugc2VyZGU6OntEZXNlcmlhbGl6ZSwgU2Vy aWFsaXplfTsKKwordXNlIHByb3htb3hfc2NoZW1hOjp7YXBpLCBhcGlfc3RyaW5nX3R5cGUsIGNv bnN0X3JlZ2V4LCBBcGlTdHJpbmdGb3JtYXQsIFVwZGF0ZXJUeXBlfTsKKworY29uc3QgTkVUX0FG SV9SRUdFWF9TVFI6ICZzdHIgPSByIig/OlthLWZBLUYwLTldezJ9KSI7Citjb25zdCBORVRfQVJF QV9SRUdFWF9TVFI6ICZzdHIgPSByIig/OlthLWZBLUYwLTldezR9KSI7Citjb25zdCBORVRfU1lT VEVNX0lEX1JFR0VYX1NUUjogJnN0ciA9IHIiKD86W2EtZkEtRjAtOV17NH0pXC4oPzpbYS1mQS1G MC05XXs0fSlcLig/OlthLWZBLUYwLTldezR9KSI7Citjb25zdCBORVRfU0VMRUNUT1JfUkVHRVhf U1RSOiAmc3RyID0gciIoPzpbYS1mQS1GMC05XXsyfSkiOworCitjb25zdF9yZWdleCEgeworICAg IE5FVF9BRklfUkVHRVggPSBjb25jYXRjcCEociJeIiwgTkVUX0FGSV9SRUdFWF9TVFIsIHIiJCIp OworICAgIE5FVF9BUkVBX1JFR0VYID0gY29uY2F0Y3AhKHIiXiIsIE5FVF9BUkVBX1JFR0VYX1NU UiwgciIkIik7CisgICAgTkVUX1NZU1RFTV9JRF9SRUdFWCA9IGNvbmNhdGNwIShyIl4iLCBORVRf U1lTVEVNX0lEX1JFR0VYX1NUUiwgciIkIik7CisgICAgTkVUX1NFTEVDVE9SX1JFR0VYID0gY29u Y2F0Y3AhKHIiXiIsIE5FVF9TRUxFQ1RPUl9SRUdFWF9TVFIsIHIiJCIpOworfQorCitjb25zdCBO RVRfQUZJX0ZPUk1BVDogQXBpU3RyaW5nRm9ybWF0ID0gQXBpU3RyaW5nRm9ybWF0OjpQYXR0ZXJu KCZORVRfQUZJX1JFR0VYKTsKK2NvbnN0IE5FVF9BUkVBX0ZPUk1BVDogQXBpU3RyaW5nRm9ybWF0 ID0gQXBpU3RyaW5nRm9ybWF0OjpQYXR0ZXJuKCZORVRfQVJFQV9SRUdFWCk7Citjb25zdCBORVRf U1lTVEVNX0lEX0ZPUk1BVDogQXBpU3RyaW5nRm9ybWF0ID0gQXBpU3RyaW5nRm9ybWF0OjpQYXR0 ZXJuKCZORVRfU1lTVEVNX0lEX1JFR0VYKTsKK2NvbnN0IE5FVF9TRUxFQ1RPUl9GT1JNQVQ6IEFw aVN0cmluZ0Zvcm1hdCA9IEFwaVN0cmluZ0Zvcm1hdDo6UGF0dGVybigmTkVUX1NFTEVDVE9SX1JF R0VYKTsKKworYXBpX3N0cmluZ190eXBlISB7CisgICAgLy8vIEFkZHJlc3MgRmFtaWx5IGF1dGhv cml0eSBJZGVudGlmaWVyIC0gNDkgVGhlIEFGSSB2YWx1ZSA0OSBpcyB3aGF0IElTLUlTIChhbmQg b3BlbmZhYnJpYykgdXNlcworICAgIC8vLyBmb3IgcHJpdmF0ZSBhZGRyZXNzaW5nLgorICAgICNb YXBpKGZvcm1hdDogJk5FVF9BRklfRk9STUFUKV0KKyAgICAjW2Rlcml2ZShEZWJ1ZywgQ2xvbmUs IEhhc2gsIFBhcnRpYWxFcSwgRXEsIFBhcnRpYWxPcmQsIE9yZCwgU2VyaWFsaXplLCBEZXNlcmlh bGl6ZSldCisgICAgc3RydWN0IE5ldEFGSShTdHJpbmcpOworfQorCitpbXBsIERlZmF1bHQgZm9y IE5ldEFGSSB7CisgICAgZm4gZGVmYXVsdCgpIC0+IFNlbGYgeworICAgICAgICBTZWxmKCI0OSIu dG9fb3duZWQoKSkKKyAgICB9Cit9CisKK2ltcGwgVXBkYXRlclR5cGUgZm9yIE5ldEFGSSB7Cisg ICAgdHlwZSBVcGRhdGVyID0gT3B0aW9uPE5ldEFGST47Cit9CisKK2FwaV9zdHJpbmdfdHlwZSEg eworICAgIC8vLyBBcmVhIGlkZW50aWZpZXI6IDAwMDEgSVMtSVMgYXJlYSBudW1iZXIgKG51bWVy aWNhbCBhcmVhIDEpCisgICAgLy8vIFRoZSBzZWNvbmQgcGFydCAoc3lzdGVtKSBvZiB0aGUgYG5l dGAgaWRlbnRpZmllci4gRXZlcnkgbm9kZSBoYXMgdG8gaGF2ZSBhIGRpZmZlcmVudCBzeXN0ZW0K KyAgICAvLy8gbnVtYmVyLgorICAgICNbYXBpKGZvcm1hdDogJk5FVF9BUkVBX0ZPUk1BVCldCisg ICAgI1tkZXJpdmUoRGVidWcsIERlc2VyaWFsaXplLCBTZXJpYWxpemUsIENsb25lLCBIYXNoLCBQ YXJ0aWFsRXEsIEVxLCBQYXJ0aWFsT3JkLCBPcmQpXQorICAgIHN0cnVjdCBOZXRBcmVhKFN0cmlu Zyk7Cit9CisKK2ltcGwgRGVmYXVsdCBmb3IgTmV0QXJlYSB7CisgICAgZm4gZGVmYXVsdCgpIC0+ IFNlbGYgeworICAgICAgICBTZWxmKCIwMDAxIi50b19vd25lZCgpKQorICAgIH0KK30KKworaW1w bCBVcGRhdGVyVHlwZSBmb3IgTmV0QXJlYSB7CisgICAgdHlwZSBVcGRhdGVyID0gT3B0aW9uPE5l dEFyZWE+OworfQorCithcGlfc3RyaW5nX3R5cGUhIHsKKyAgICAvLy8gU3lzdGVtIGlkZW50aWZp ZXI6IDE5MjEuNjgwMC4xMDAyIC0gZm9yIHN5c3RlbSBpZGVudGlmaWVycyB3ZSByZWNvbW1lbmQg dG8gdXNlIElQIGFkZHJlc3Mgb3IKKyAgICAvLy8gTUFDIGFkZHJlc3Mgb2YgdGhlIHJvdXRlciBp dHNlbGYuIFRoZSB3YXkgdG8gY29uc3RydWN0IHRoaXMgaXMgdG8ga2VlcCBhbGwgb2YgdGhlIHpl cm9lcyBvZiB0aGUKKyAgICAvLy8gcm91dGVyIElQIGFkZHJlc3MsIGFuZCB0aGVuIGNoYW5nZSB0 aGUgcGVyaW9kcyBmcm9tIGJlaW5nIGV2ZXJ5IHRocmVlIG51bWJlcnMgdG8gZXZlcnkgZm91cgor ICAgIC8vLyBudW1iZXJzLiBUaGUgYWRkcmVzcyB0aGF0IGlzIGxpc3RlZCBoZXJlIGlzIDE5Mi4x NjguMS4yLCB3aGljaCBpZiBleHBhbmRlZCB3aWxsIHR1cm4gaW50bworICAgIC8vLyAxOTIuMTY4 LjAwMS4wMDIuIFRoZW4gYWxsIG9uZSBoYXMgdG8gZG8gaXMgbW92ZSB0aGUgZG90cyB0byBoYXZl IGZvdXIgbnVtYmVycyBpbnN0ZWFkIG9mIHRocmVlLgorICAgIC8vLyBUaGlzIGdpdmVzIHVzIDE5 MjEuNjgwMC4xMDAyLgorICAgICNbYXBpKGZvcm1hdDogJk5FVF9TWVNURU1fSURfRk9STUFUKV0K KyAgICAjW2Rlcml2ZShEZWJ1ZywgRGVzZXJpYWxpemUsIFNlcmlhbGl6ZSwgQ2xvbmUsIEhhc2gs IFBhcnRpYWxFcSwgRXEsIFBhcnRpYWxPcmQsIE9yZCldCisgICAgc3RydWN0IE5ldFN5c3RlbUlk KFN0cmluZyk7Cit9CisKK2ltcGwgVXBkYXRlclR5cGUgZm9yIE5ldFN5c3RlbUlkIHsKKyAgICB0 eXBlIFVwZGF0ZXIgPSBPcHRpb248TmV0U3lzdGVtSWQ+OworfQorCisvLy8gQ29udmVydCBJUC1B ZGRyZXNzIHRvIGEgTkVUIGFkZHJlc3Mgd2l0aCB0aGUgZGVmYXVsdCBhZmksIGFyZWEgYW5kIHNl bGVjdG9yIHZhbHVlcy4gTm90ZSB0aGF0IGEKKy8vLyB2YWxpZCBJcHY0QWRkciBpcyBhbHdheXMg YSB2YWxpZCBTeXN0ZW1JZCBhcyB3ZWxsLgoraW1wbCBGcm9tPElwdjRBZGRyPiBmb3IgTmV0U3lz dGVtSWQgeworICAgIGZuIGZyb20odmFsdWU6IElwdjRBZGRyKSAtPiBTZWxmIHsKKyAgICAgICAg bGV0IG9jdGV0cyA9IHZhbHVlLm9jdGV0cygpOworCisgICAgICAgIGxldCBzeXN0ZW1faWRfc3Ry ID0gZm9ybWF0ISgKKyAgICAgICAgICAgICJ7OjAzfXs6MDF9Lns6MDJ9ezowMn0uezowMX17OjAz fSIsCisgICAgICAgICAgICBvY3RldHNbMF0sCisgICAgICAgICAgICBvY3RldHNbMV0gLyAxMDAs CisgICAgICAgICAgICBvY3RldHNbMV0gJSAxMDAsCisgICAgICAgICAgICBvY3RldHNbMl0gLyAx MCwKKyAgICAgICAgICAgIG9jdGV0c1syXSAlIDEwLAorICAgICAgICAgICAgb2N0ZXRzWzNdCisg ICAgICAgICk7CisKKyAgICAgICAgU2VsZihzeXN0ZW1faWRfc3RyKQorICAgIH0KK30KKworLy8v IENvbnZlcnQgSVB2Ni1BZGRyZXNzIHRvIGEgTkVUIGFkZHJlc3Mgd2l0aCB0aGUgZGVmYXVsdCBh ZmksIGFyZWEgYW5kIHNlbGVjdG9yIHZhbHVlcy4gTm90ZSB0aGF0IGEKKy8vLyB2YWxpZCBJcHY2 QWRkciBpcyBhbHdheXMgYSB2YWxpZCBTeXN0ZW1JZCBhcyB3ZWxsLgoraW1wbCBGcm9tPElwdjZB ZGRyPiBmb3IgTmV0U3lzdGVtSWQgeworICAgIGZuIGZyb20odmFsdWU6IElwdjZBZGRyKSAtPiBT ZWxmIHsKKyAgICAgICAgbGV0IHNlZ21lbnRzID0gdmFsdWUuc2VnbWVudHMoKTsKKworICAgICAg ICAvLyBVc2UgdGhlIGxhc3QgMyBzZWdtZW50cyAob3V0IG9mIDgpIG9mIHRoZSBJUHY2IGFkZHJl c3MKKyAgICAgICAgbGV0IHN5c3RlbV9pZF9zdHIgPSBmb3JtYXQhKAorICAgICAgICAgICAgIns6 MDR4fS57OjA0eH0uezowNHh9IiwKKyAgICAgICAgICAgIHNlZ21lbnRzWzVdLCBzZWdtZW50c1s2 XSwgc2VnbWVudHNbN10KKyAgICAgICAgKTsKKworICAgICAgICBTZWxmKHN5c3RlbV9pZF9zdHIp CisgICAgfQorfQorCithcGlfc3RyaW5nX3R5cGUhIHsKKyAgICAvLy8gTkVUIHNlbGVjdG9yOiAw MCBNdXN0IGFsd2F5cyBiZSAwMC4gVGhpcyBzZXR0aW5nIGluZGljYXRlcyDigJx0aGlzIHN5c3Rl beKAnSBvciDigJxsb2NhbCBzeXN0ZW0u4oCdCisgICAgI1thcGkoZm9ybWF0OiAmTkVUX1NFTEVD VE9SX0ZPUk1BVCldCisgICAgI1tkZXJpdmUoRGVidWcsIERlc2VyaWFsaXplLCBTZXJpYWxpemUs IENsb25lLCBIYXNoLCBQYXJ0aWFsRXEsIEVxLCBQYXJ0aWFsT3JkLCBPcmQpXQorICAgIHN0cnVj dCBOZXRTZWxlY3RvcihTdHJpbmcpOworfQorCitpbXBsIFVwZGF0ZXJUeXBlIGZvciBOZXRTZWxl Y3RvciB7CisgICAgdHlwZSBVcGRhdGVyID0gT3B0aW9uPE5ldFNlbGVjdG9yPjsKK30KKworaW1w bCBEZWZhdWx0IGZvciBOZXRTZWxlY3RvciB7CisgICAgZm4gZGVmYXVsdCgpIC0+IFNlbGYgewor ICAgICAgICBTZWxmKCIwMCIudG9fb3duZWQoKSkKKyAgICB9Cit9CisKKy8vLyBUaGUgTmV0d29y ayBFbnRpdHkgVGl0bGUgKE5FVCkuCisvLy8KKy8vLyBFdmVyeSBPcGVuRmFicmljIG5vZGUgaXMg aWRlbnRpZmllZCB0aHJvdWdoIHRoZSBORVQuIEl0IGhhcyBhIG5ldHdvcmsgYW5kIGEgaG9zdAor Ly8vIHBhcnQuCisvLy8gVGhlIGZpcnN0IHBhcnQgaXMgdGhlIG5ldHdvcmsgcGFydCAoYWxzbyBj YWxsZWQgYXJlYSkuIFRoZSBlbnRpcmUgT3BlbkZhYnJpYyBmYWJyaWMgaGFzIHRvIGhhdmUKKy8v LyB0aGUgc2FtZSBuZXR3b3JrIHBhcnQgKGFmaSArIGFyZWEpLiBUaGUgZmlyc3QgbnVtYmVyIGlz IHRoZSBbYE5ldEFGSWBdIGFuZCB0aGUgc2Vjb25kIGlzIHRoZQorLy8vIFtgTmV0QXJlYWBdLgor Ly8vIGUuZy46ICI0OS4wMDAxIgorLy8vIFRoZSBzZWNvbmQgcGFydCBpcyB0aGUgaG9zdCBwYXJ0 LCB3aGljaCBoYXMgdG8gZGlmZmVyIG9uIGV2ZXJ5IG5vZGUgaW4gdGhlIGZhYnJpYywgYnV0ICpu b3QqCisvLy8gYmV0d2VlbiBmYWJyaWNzIG9uIHRoZSBzYW1lIG5vZGUuIEl0IGNvbnRhaW5zIHRo ZSBbYE5ldFN5c3RlbUlkYF0gYW5kIHRoZSBbYE5ldFNlbGVjdG9yYF0uCisvLy8gZS5nLjogIjE5 MjEuNjgwMC4xMDAyLjAwIgorI1thcGldCisjW2Rlcml2ZShEZWJ1ZywgRGVzZXJpYWxpemUsIFNl cmlhbGl6ZSwgQ2xvbmUsIEhhc2gsIFBhcnRpYWxFcSwgRXEsIFBhcnRpYWxPcmQsIE9yZCldCitw dWIgc3RydWN0IE5ldCB7CisgICAgYWZpOiBOZXRBRkksCisgICAgYXJlYTogTmV0QXJlYSwKKyAg ICBzeXN0ZW06IE5ldFN5c3RlbUlkLAorICAgIHNlbGVjdG9yOiBOZXRTZWxlY3RvciwKK30KKwor aW1wbCBVcGRhdGVyVHlwZSBmb3IgTmV0IHsKKyAgICB0eXBlIFVwZGF0ZXIgPSBPcHRpb248TmV0 PjsKK30KKworaW1wbCBzdGQ6OnN0cjo6RnJvbVN0ciBmb3IgTmV0IHsKKyAgICB0eXBlIEVyciA9 IEVycm9yOworCisgICAgZm4gZnJvbV9zdHIoczogJnN0cikgLT4gUmVzdWx0PFNlbGYsIFNlbGY6 OkVycj4geworICAgICAgICBsZXQgcGFydHM6IFZlYzwmc3RyPiA9IHMuc3BsaXQoIi4iKS5jb2xs ZWN0KCk7CisKKyAgICAgICAgaWYgcGFydHMubGVuKCkgIT0gNiB7CisgICAgICAgICAgICBiYWls ISgiaW52YWxpZCBORVQgZm9ybWF0OiB7c30iKQorICAgICAgICB9CisKKyAgICAgICAgbGV0IHN5 c3RlbSA9IGZvcm1hdCEoInt9Lnt9Lnt9IiwgcGFydHNbMl0sIHBhcnRzWzNdLCBwYXJ0c1s0XSwp OworCisgICAgICAgIE9rKFNlbGYgeworICAgICAgICAgICAgYWZpOiBOZXRBRkk6OmZyb21fc3Ry aW5nKHBhcnRzWzBdLnRvX3N0cmluZygpKT8sCisgICAgICAgICAgICBhcmVhOiBOZXRBcmVhOjpm cm9tX3N0cmluZyhwYXJ0c1sxXS50b19zdHJpbmcoKSk/LAorICAgICAgICAgICAgc3lzdGVtOiBO ZXRTeXN0ZW1JZDo6ZnJvbV9zdHJpbmcoc3lzdGVtLnRvX3N0cmluZygpKT8sCisgICAgICAgICAg ICBzZWxlY3RvcjogTmV0U2VsZWN0b3I6OmZyb21fc3RyaW5nKHBhcnRzWzVdLnRvX3N0cmluZygp KT8sCisgICAgICAgIH0pCisgICAgfQorfQorCitpbXBsIERpc3BsYXkgZm9yIE5ldCB7CisgICAg Zm4gZm10KCZzZWxmLCBmOiAmbXV0IHN0ZDo6Zm10OjpGb3JtYXR0ZXI8J18+KSAtPiBzdGQ6OmZt dDo6UmVzdWx0IHsKKyAgICAgICAgd3JpdGUhKAorICAgICAgICAgICAgZiwKKyAgICAgICAgICAg ICJ7fS57fS57fS57fSIsCisgICAgICAgICAgICBzZWxmLmFmaSwgc2VsZi5hcmVhLCBzZWxmLnN5 c3RlbSwgc2VsZi5zZWxlY3RvcgorICAgICAgICApCisgICAgfQorfQorCisvLy8gRGVmYXVsdCBO RVQgYWRkcmVzcyBmb3IgYSBnaXZlbiBJcHY0QWRkci4gVGhpcyBhZGRzIHRoZSBkZWZhdWx0IGFm aSwgYXJlYSBhbmQgc2VsZWN0b3IgdG8gdGhlCisvLy8gYWRkcmVzcy4KK2ltcGwgRnJvbTxJcHY0 QWRkcj4gZm9yIE5ldCB7CisgICAgZm4gZnJvbSh2YWx1ZTogSXB2NEFkZHIpIC0+IFNlbGYgewor ICAgICAgICBTZWxmIHsKKyAgICAgICAgICAgIGFmaTogTmV0QUZJOjpkZWZhdWx0KCksCisgICAg ICAgICAgICBhcmVhOiBOZXRBcmVhOjpkZWZhdWx0KCksCisgICAgICAgICAgICBzeXN0ZW06IHZh bHVlLmludG8oKSwKKyAgICAgICAgICAgIHNlbGVjdG9yOiBOZXRTZWxlY3Rvcjo6ZGVmYXVsdCgp LAorICAgICAgICB9CisgICAgfQorfQorCisvLy8gRGVmYXVsdCBORVQgYWRkcmVzcyBmb3IgYSBn aXZlbiBJcHY2QWRkci4gVGhpcyBhZGRzIHRoZSBkZWZhdWx0IGFmaSwgYXJlYSBhbmQgc2VsZWN0 b3IgdG8gdGhlCisvLy8gYWRkcmVzcy4KK2ltcGwgRnJvbTxJcHY2QWRkcj4gZm9yIE5ldCB7Cisg ICAgZm4gZnJvbSh2YWx1ZTogSXB2NkFkZHIpIC0+IFNlbGYgeworICAgICAgICBTZWxmIHsKKyAg ICAgICAgICAgIGFmaTogTmV0QUZJOjpkZWZhdWx0KCksCisgICAgICAgICAgICBhcmVhOiBOZXRB cmVhOjpkZWZhdWx0KCksCisgICAgICAgICAgICBzeXN0ZW06IHZhbHVlLmludG8oKSwKKyAgICAg ICAgICAgIHNlbGVjdG9yOiBOZXRTZWxlY3Rvcjo6ZGVmYXVsdCgpLAorICAgICAgICB9CisgICAg fQorfQorCisvLy8gRGVmYXVsdCBORVQgYWRkcmVzcyBmb3IgYSBnaXZlbiBJcEFkZHIgKGNhbiBi ZSBlaXRoZXIgSXB2NCBvciBJcHY2KS4gVGhpcyBhZGRzIHRoZSBkZWZhdWx0IGFmaSwKKy8vLyBh cmVhIGFuZCBzZWxlY3RvciB0byB0aGUgYWRkcmVzcy4KK2ltcGwgRnJvbTxJcEFkZHI+IGZvciBO ZXQgeworICAgIGZuIGZyb20odmFsdWU6IElwQWRkcikgLT4gU2VsZiB7CisgICAgICAgIG1hdGNo IHZhbHVlIHsKKyAgICAgICAgICAgIElwQWRkcjo6VjQoaXB2NF9hZGRyKSA9PiBpcHY0X2FkZHIu aW50bygpLAorICAgICAgICAgICAgSXBBZGRyOjpWNihpcHY2X2FkZHIpID0+IGlwdjZfYWRkci5p bnRvKCksCisgICAgICAgIH0KKyAgICB9Cit9CisKKyNbY2ZnKHRlc3QpXQorbW9kIHRlc3RzIHsK KyAgICB1c2Ugc3VwZXI6Oio7CisKKyAgICAjW3Rlc3RdCisgICAgZm4gdGVzdF9uZXRfZnJvbV9z dHIoKSB7CisgICAgICAgIGxldCBpbnB1dCA9ICI0OS4wMDAxLjE5MjEuNjgwMC4xMDAyLjAwIjsK KyAgICAgICAgbGV0IG5ldCA9IGlucHV0LnBhcnNlOjo8TmV0PigpLmV4cGVjdCgidGhpcyBuZXQg c2hvdWxkIHBhcnNlIik7CisgICAgICAgIGFzc2VydF9lcSEobmV0LmFmaSwgTmV0QUZJKCI0OSIu dG9fb3duZWQoKSkpOworICAgICAgICBhc3NlcnRfZXEhKG5ldC5hcmVhLCBOZXRBcmVhKCIwMDAx Ii50b19vd25lZCgpKSk7CisgICAgICAgIGFzc2VydF9lcSEobmV0LnN5c3RlbSwgTmV0U3lzdGVt SWQoIjE5MjEuNjgwMC4xMDAyIi50b19vd25lZCgpKSk7CisgICAgICAgIGFzc2VydF9lcSEobmV0 LnNlbGVjdG9yLCBOZXRTZWxlY3RvcigiMDAiLnRvX293bmVkKCkpKTsKKworICAgICAgICBsZXQg aW5wdXQgPSAiNDUuMDIwMC4wMTAwLjEwMDEuYmExZi4wMSI7CisgICAgICAgIGxldCBuZXQgPSBp bnB1dC5wYXJzZTo6PE5ldD4oKS5leHBlY3QoInRoaXMgbmV0IHNob3VsZCBwYXJzZSIpOworICAg ICAgICBhc3NlcnRfZXEhKG5ldC5hZmksIE5ldEFGSSgiNDUiLnRvX293bmVkKCkpKTsKKyAgICAg ICAgYXNzZXJ0X2VxIShuZXQuYXJlYSwgTmV0QXJlYSgiMDIwMCIudG9fb3duZWQoKSkpOworICAg ICAgICBhc3NlcnRfZXEhKG5ldC5zeXN0ZW0sIE5ldFN5c3RlbUlkKCIwMTAwLjEwMDEuYmExZiIu dG9fb3duZWQoKSkpOworICAgICAgICBhc3NlcnRfZXEhKG5ldC5zZWxlY3RvciwgTmV0U2VsZWN0 b3IoIjAxIi50b19vd25lZCgpKSk7CisgICAgfQorCisgICAgI1t0ZXN0XQorICAgIGZuIHRlc3Rf bmV0X2Zyb21fc3RyX2ZhaWxlZCgpIHsKKyAgICAgICAgbGV0IGlucHV0ID0gIjQ5LjAwMDEuMTky MS42ODAwLjEwMDIuMDAwIjsKKyAgICAgICAgaW5wdXQucGFyc2U6OjxOZXQ+KCkuZXhwZWN0X2Vy cigiaW52YWxpZCBORVQgc2VsZWN0b3IiKTsKKworICAgICAgICBsZXQgaW5wdXQgPSAiNDkuMDAw MS4xOTIxLjY4MDAuMTAwMi4wMC4wMCI7CisgICAgICAgIGlucHV0CisgICAgICAgICAgICAucGFy c2U6OjxOZXQ+KCkKKyAgICAgICAgICAgIC5leHBlY3RfZXJyKCJpbnZhbGlkIGFtb3VudCBvZiBl bGVtZW50cyIpOworCisgICAgICAgIGxldCBpbnB1dCA9ICI0OS4wMDAxLjE5MjEuNjgwMC4xMDAw Mi4wMCI7CisgICAgICAgIGlucHV0LnBhcnNlOjo8TmV0PigpLmV4cGVjdF9lcnIoImludmFsaWQg c3lzdGVtIGlkIik7CisKKyAgICAgICAgbGV0IGlucHV0ID0gIjQ5LjAwMDEuMTkyMS42ODAwLjF6 MDIuMDAiOworICAgICAgICBpbnB1dC5wYXJzZTo6PE5ldD4oKS5leHBlY3RfZXJyKCJpbnZhbGlk IHN5c3RlbSBpZCIpOworCisgICAgICAgIGxldCBpbnB1dCA9ICI0MDkuMDAwMS4xOTIxLjY4MDAu MTAwMi4wMCI7CisgICAgICAgIGlucHV0LnBhcnNlOjo8TmV0PigpLmV4cGVjdF9lcnIoImludmFs aWQgQUZJIik7CisKKyAgICAgICAgbGV0IGlucHV0ID0gIjQ5LjAwMDAxLjE5MjEuNjgwMC4xMDAy LjAwIjsKKyAgICAgICAgaW5wdXQucGFyc2U6OjxOZXQ+KCkuZXhwZWN0X2VycigiaW52YWxpZCBh cmVhIik7CisgICAgfQorCisgICAgI1t0ZXN0XQorICAgIGZuIHRlc3RfbmV0X2Rpc3BsYXkoKSB7 CisgICAgICAgIGxldCBuZXQgPSBOZXQgeworICAgICAgICAgICAgYWZpOiBOZXRBRkkoIjQ5Ii50 b19vd25lZCgpKSwKKyAgICAgICAgICAgIGFyZWE6IE5ldEFyZWEoIjAwMDEiLnRvX293bmVkKCkp LAorICAgICAgICAgICAgc3lzdGVtOiBOZXRTeXN0ZW1JZCgiMTkyMS42ODAwLjEwMDIiLnRvX293 bmVkKCkpLAorICAgICAgICAgICAgc2VsZWN0b3I6IE5ldFNlbGVjdG9yKCIwMCIudG9fb3duZWQo KSksCisgICAgICAgIH07CisgICAgICAgIGFzc2VydF9lcSEoZm9ybWF0ISgie25ldH0iKSwgIjQ5 LjAwMDEuMTkyMS42ODAwLjEwMDIuMDAiKTsKKyAgICB9CisKKyAgICAjW3Rlc3RdCisgICAgZm4g dGVzdF9uZXRfZnJvbV9pcHY0KCkgeworICAgICAgICBsZXQgaXA6IElwdjRBZGRyID0gIjE5Mi4x NjguMS4xMDAiLnBhcnNlKCkudW53cmFwKCk7CisgICAgICAgIGxldCBuZXQ6IE5ldCA9IGlwLmlu dG8oKTsKKyAgICAgICAgYXNzZXJ0X2VxIShmb3JtYXQhKCJ7bmV0fSIpLCAiNDkuMDAwMS4xOTIx LjY4MDAuMTEwMC4wMCIpOworCisgICAgICAgIGxldCBpcDE6IElwdjRBZGRyID0gIjEwLjEwLjIu MjQ1Ii5wYXJzZSgpLnVud3JhcCgpOworICAgICAgICBsZXQgbmV0MTogTmV0ID0gaXAxLmludG8o KTsKKyAgICAgICAgYXNzZXJ0X2VxIShmb3JtYXQhKCJ7bmV0MX0iKSwgIjQ5LjAwMDEuMDEwMC4x MDAwLjIyNDUuMDAiKTsKKworICAgICAgICBsZXQgaXAyOiBJcHY0QWRkciA9ICIxLjEuMS4xIi5w YXJzZSgpLnVud3JhcCgpOworICAgICAgICBsZXQgbmV0MjogTmV0ID0gaXAyLmludG8oKTsKKyAg ICAgICAgYXNzZXJ0X2VxIShmb3JtYXQhKCJ7bmV0Mn0iKSwgIjQ5LjAwMDEuMDAxMC4wMTAwLjEw MDEuMDAiKTsKKyAgICB9CisKKyAgICAjW3Rlc3RdCisgICAgZm4gdGVzdF9uZXRfZnJvbV9pcHY2 KCkgeworICAgICAgICAvLyAyMDAxOmRiODo6MSAtPiBbMjAwMSwgMGRiOCwgMCwgMCwgMCwgMCwg MCwgMV0KKyAgICAgICAgLy8gbGFzdCAzIHNlZ21lbnRzOiBbMCwgMCwgMV0KKyAgICAgICAgbGV0 IGlwOiBJcHY2QWRkciA9ICIyMDAxOmRiODo6MSIucGFyc2UoKS51bndyYXAoKTsKKyAgICAgICAg bGV0IG5ldDogTmV0ID0gaXAuaW50bygpOworICAgICAgICBhc3NlcnRfZXEhKGZvcm1hdCEoIntu ZXR9IiksICI0OS4wMDAxLjAwMDAuMDAwMC4wMDAxLjAwIik7CisKKyAgICAgICAgLy8gZmU4MDo6 MTIzNDo1Njc4OmFiY2QgLT4gW2ZlODAsIDAsIDAsIDAsIDAsIDEyMzQsIDU2NzgsIGFiY2RdCisg ICAgICAgIC8vIGxhc3QgMyBzZWdtZW50czogWzEyMzQsIDU2NzgsIGFiY2RdCisgICAgICAgIGxl dCBpcDE6IElwdjZBZGRyID0gImZlODA6OjEyMzQ6NTY3ODphYmNkIi5wYXJzZSgpLnVud3JhcCgp OworICAgICAgICBsZXQgbmV0MTogTmV0ID0gaXAxLmludG8oKTsKKyAgICAgICAgYXNzZXJ0X2Vx IShmb3JtYXQhKCJ7bmV0MX0iKSwgIjQ5LjAwMDEuMTIzNC41Njc4LmFiY2QuMDAiKTsKKworICAg ICAgICAvLyAyMDAxOjBkYjg6ODVhMzo6OGEyZTozNzA6NzMzNCAtPiBbMjAwMSwgMGRiOCwgODVh MywgMCwgMCwgOGEyZSwgMDM3MCwgNzMzNF0KKyAgICAgICAgLy8gbGFzdCAzIHNlZ21lbnRzOiBb OGEyZSwgMDM3MCwgNzMzNF0KKyAgICAgICAgbGV0IGlwMjogSXB2NkFkZHIgPSAiMjAwMTowZGI4 Ojg1YTM6OjhhMmU6MzcwOjczMzQiLnBhcnNlKCkudW53cmFwKCk7CisgICAgICAgIGxldCBuZXQy OiBOZXQgPSBpcDIuaW50bygpOworICAgICAgICBhc3NlcnRfZXEhKGZvcm1hdCEoIntuZXQyfSIp LCAiNDkuMDAwMS44YTJlLjAzNzAuNzMzNC4wMCIpOworCisgICAgICAgIC8vIDo6MSAtPiBbMCwg MCwgMCwgMCwgMCwgMCwgMCwgMV0KKyAgICAgICAgLy8gbGFzdCAzIHNlZ21lbnRzOiBbMCwgMCwg MV0KKyAgICAgICAgbGV0IGlwMzogSXB2NkFkZHIgPSAiOjoxIi5wYXJzZSgpLnVud3JhcCgpOwor ICAgICAgICBsZXQgbmV0MzogTmV0ID0gaXAzLmludG8oKTsKKyAgICAgICAgYXNzZXJ0X2VxIShm b3JtYXQhKCJ7bmV0M30iKSwgIjQ5LjAwMDEuMDAwMC4wMDAwLjAwMDEuMDAiKTsKKworICAgICAg ICAvLyBhOmI6OjAgLT4gW2EsIGIsIDAsIDAsIDAsIDAsIDAsIDBdCisgICAgICAgIC8vIGxhc3Qg MyBzZWdtZW50czogWzAsIDAsIDBdCisgICAgICAgIGxldCBpcDQ6IElwdjZBZGRyID0gImE6Yjo6 MCIucGFyc2UoKS51bndyYXAoKTsKKyAgICAgICAgbGV0IG5ldDQ6IE5ldCA9IGlwNC5pbnRvKCk7 CisgICAgICAgIGFzc2VydF9lcSEoZm9ybWF0ISgie25ldDR9IiksICI0OS4wMDAxLjAwMDAuMDAw MC4wMDAwLjAwIik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvcHJveG1veC1zZG4tdHlwZXMvc3Jj L29wZW5mYWJyaWMucnMgYi9wcm94bW94LXNkbi10eXBlcy9zcmMvb3BlbmZhYnJpYy5ycwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmM3OWUyZDlhMjkzNQotLS0gL2Rl di9udWxsCisrKyBiL3Byb3htb3gtc2RuLXR5cGVzL3NyYy9vcGVuZmFicmljLnJzCkBAIC0wLDAg KzEsNzIgQEAKK3VzZSBzZXJkZTo6e0Rlc2VyaWFsaXplLCBTZXJpYWxpemV9OwordXNlIHN0ZDo6 Zm10OjpEaXNwbGF5OworCit1c2UgcHJveG1veF9zY2hlbWE6OnthcGksIFVwZGF0ZXJUeXBlfTsK KworLy8vIFRoZSBPcGVuRmFicmljIENTTlAgSW50ZXJ2YWwuCisvLy8KKy8vLyBUaGUgQ29tcGxl dGUgU2VxdWVuY2UgTnVtYmVyIFBhY2tldHMgKENTTlApIGludGVydmFsIGluIHNlY29uZHMuIFRo ZSBpbnRlcnZhbCByYW5nZSBpcyAxIHRvCisvLy8gNjAwLgorI1thcGkoCisgICAgdHlwZTogSW50 ZWdlciwKKyAgICBtaW5pbXVtOiAxLAorICAgIG1heGltdW06IDYwMCwKKyldCisjW2Rlcml2ZShT ZXJpYWxpemUsIERlc2VyaWFsaXplLCBIYXNoLCBEZWJ1ZywgQ2xvbmUsIENvcHksIFBhcnRpYWxF cSwgRXEsIFBhcnRpYWxPcmQsIE9yZCldCisjW3NlcmRlKHRyYW5zcGFyZW50KV0KK3B1YiBzdHJ1 Y3QgQ3NucEludGVydmFsKCNbc2VyZGUoZGVzZXJpYWxpemVfd2l0aCA9ICJwcm94bW94X3NlcmRl OjpwZXJsOjpkZXNlcmlhbGl6ZV91MTYiKV0gdTE2KTsKKworaW1wbCBVcGRhdGVyVHlwZSBmb3Ig Q3NucEludGVydmFsIHsKKyAgICB0eXBlIFVwZGF0ZXIgPSBPcHRpb248Q3NucEludGVydmFsPjsK K30KKworaW1wbCBEaXNwbGF5IGZvciBDc25wSW50ZXJ2YWwgeworICAgIGZuIGZtdCgmc2VsZiwg ZjogJm11dCBzdGQ6OmZtdDo6Rm9ybWF0dGVyPCdfPikgLT4gc3RkOjpmbXQ6OlJlc3VsdCB7Cisg ICAgICAgIHNlbGYuMC5mbXQoZikKKyAgICB9Cit9CisKKy8vLyBUaGUgT3BlbkZhYnJpYyBIZWxs byBJbnRlcnZhbC4KKy8vLworLy8vIFRoZSBIZWxsbyBJbnRlcnZhbCBmb3IgYSBnaXZlbiBpbnRl cmZhY2UgaW4gc2Vjb25kcy4gVGhlIHJhbmdlIGlzIDEgdG8gNjAwLiBIZWxsbyBwYWNrZXRzIGFy ZQorLy8vIHVzZWQgdG8gZXN0YWJsaXNoIGFuZCBtYWludGFpbiBhZGphY2VuY3kgYmV0d2VlbiBP cGVuRmFicmljIG5laWdoYm9ycy4KKyNbYXBpKAorICAgIHR5cGU6IEludGVnZXIsCisgICAgbWlu aW11bTogMSwKKyAgICBtYXhpbXVtOiA2MDAsCispXQorI1tkZXJpdmUoU2VyaWFsaXplLCBEZXNl cmlhbGl6ZSwgSGFzaCwgRGVidWcsIENsb25lLCBDb3B5LCBQYXJ0aWFsRXEsIEVxLCBQYXJ0aWFs T3JkLCBPcmQpXQorI1tzZXJkZSh0cmFuc3BhcmVudCldCitwdWIgc3RydWN0IEhlbGxvSW50ZXJ2 YWwoI1tzZXJkZShkZXNlcmlhbGl6ZV93aXRoID0gInByb3htb3hfc2VyZGU6OnBlcmw6OmRlc2Vy aWFsaXplX3UxNiIpXSB1MTYpOworCitpbXBsIFVwZGF0ZXJUeXBlIGZvciBIZWxsb0ludGVydmFs IHsKKyAgICB0eXBlIFVwZGF0ZXIgPSBPcHRpb248SGVsbG9JbnRlcnZhbD47Cit9CisKK2ltcGwg RGlzcGxheSBmb3IgSGVsbG9JbnRlcnZhbCB7CisgICAgZm4gZm10KCZzZWxmLCBmOiAmbXV0IHN0 ZDo6Zm10OjpGb3JtYXR0ZXI8J18+KSAtPiBzdGQ6OmZtdDo6UmVzdWx0IHsKKyAgICAgICAgc2Vs Zi4wLmZtdChmKQorICAgIH0KK30KKworLy8vIFRoZSBPcGVuRmFicmljIEhlbGxvIE11bHRpcGxp ZXIuCisvLy8KKy8vLyBUaGlzIGlzIHRoZSBtdWx0aXBsaWVyIGZvciB0aGUgaGVsbG8gaG9sZGlu ZyB0aW1lIG9uIGEgZ2l2ZW4gaW50ZXJmYWNlLiBUaGUgcmFuZ2UgaXMgMiB0byAxMDAuCisjW2Fw aSgKKyAgICB0eXBlOiBJbnRlZ2VyLAorICAgIG1pbmltdW06IDIsCisgICAgbWF4aW11bTogMTAw LAorKV0KKyNbZGVyaXZlKFNlcmlhbGl6ZSwgRGVzZXJpYWxpemUsIEhhc2gsIERlYnVnLCBDbG9u ZSwgQ29weSwgUGFydGlhbEVxLCBFcSwgUGFydGlhbE9yZCwgT3JkKV0KKyNbc2VyZGUodHJhbnNw YXJlbnQpXQorcHViIHN0cnVjdCBIZWxsb011bHRpcGxpZXIoI1tzZXJkZShkZXNlcmlhbGl6ZV93 aXRoID0gInByb3htb3hfc2VyZGU6OnBlcmw6OmRlc2VyaWFsaXplX3UxNiIpXSB1MTYpOworCitp bXBsIFVwZGF0ZXJUeXBlIGZvciBIZWxsb011bHRpcGxpZXIgeworICAgIHR5cGUgVXBkYXRlciA9 IE9wdGlvbjxIZWxsb011bHRpcGxpZXI+OworfQorCitpbXBsIERpc3BsYXkgZm9yIEhlbGxvTXVs dGlwbGllciB7CisgICAgZm4gZm10KCZzZWxmLCBmOiAmbXV0IHN0ZDo6Zm10OjpGb3JtYXR0ZXI8 J18+KSAtPiBzdGQ6OmZtdDo6UmVzdWx0IHsKKyAgICAgICAgc2VsZi4wLmZtdChmKQorICAgIH0K K30KZGlmZiAtLWdpdCBhL3Byb3htb3gtdmUtY29uZmlnL0NhcmdvLnRvbWwgYi9wcm94bW94LXZl LWNvbmZpZy9DYXJnby50b21sCmluZGV4IDVmZDcwMGM0MGI0OC4uMTliYzc5MzkyNWU2IDEwMDY0 NAotLS0gYS9wcm94bW94LXZlLWNvbmZpZy9DYXJnby50b21sCisrKyBiL3Byb3htb3gtdmUtY29u ZmlnL0NhcmdvLnRvbWwKQEAgLTgsMTQgKzgsMTQgQEAgZXhjbHVkZS53b3Jrc3BhY2UgPSB0cnVl CiAKIFtkZXBlbmRlbmNpZXNdCiBsb2cgPSAiMC40IgotYW55aG93ID0gIjEiCithbnlob3cgPSB7 IHdvcmtzcGFjZSA9IHRydWUgfQogbml4ID0gIjAuMjkiCi10aGlzZXJyb3IgPSAiMiIKK3RoaXNl cnJvciA9IHsgd29ya3NwYWNlID0gdHJ1ZSB9CiAKLXNlcmRlID0geyB2ZXJzaW9uID0gIjEiLCBm ZWF0dXJlcyA9IFsgImRlcml2ZSIgXSB9CitzZXJkZSA9IHsgd29ya3NwYWNlID0gdHJ1ZSwgZmVh dHVyZXMgPSBbICJkZXJpdmUiIF0gfQogc2VyZGVfanNvbiA9ICIxIgogc2VyZGVfcGxhaW4gPSAi MSIKLXNlcmRlX3dpdGggPSAiMyIKK3NlcmRlX3dpdGggPSB7IHdvcmtzcGFjZSA9IHRydWUgfQog cHJveG1veC1zZXJkZSA9IHsgdmVyc2lvbiA9ICIxLjAuMCIsIGZlYXR1cmVzID0gWyAicGVybCIg XX0KIAogcHJveG1veC1uZXR3b3JrLXR5cGVzID0geyB3b3Jrc3BhY2UgPSB0cnVlIH0KLS0gCjIu MzkuNQoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpw dmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczov L2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK