From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 59EDA6E5E0 for ; Wed, 20 Jun 2018 16:04:12 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id 69-v6so456189wmf.3 for ; Wed, 20 Jun 2018 09:04:12 -0700 (PDT) Date: Wed, 20 Jun 2018 18:04:08 +0200 From: Daniel Vetter Message-ID: <20180620160408.GC19791@phenom.ffwll.local> References: <20180620141038.27744-1-petri.latvala@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180620141038.27744-1-petri.latvala@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t 1/1] meson: Add options to control optional parts List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Petri Latvala Cc: igt-dev@lists.freedesktop.org, Matt Turner , Daniel Vetter List-ID: T24gV2VkLCBKdW4gMjAsIDIwMTggYXQgMDU6MTA6MzhQTSArMDMwMCwgUGV0cmkgTGF0dmFsYSB3 cm90ZToKPiBEaXN0cmlidXRpb25zIHdhbnQgZXhwbGljaXQgY29udHJvbCBvdmVyIG9wdGlvbmFs IHBhcnRzIHNvIHRoZXkgY2FuCj4gc3RhdGUgcnVudGltZSBkZXBlbmRlbmNpZXMgYmVmb3JlIGJ1 aWxkaW5nLiBMZXQncyByZXN0b3JlIHRoZQo+IGZ1bmN0aW9uYWxpdHkgYXV0b3Rvb2xzIHVzZWQg dG8gcHJvdmlkZS4KPiAKPiBXaGVyZSBwb3NzaWJsZSwgdGhlIHNlbGVjdGlvbiBpcyBkb25lIGJ5 IGNob29zaW5nIHdoZXRoZXIgdG8gYnVpbGQgYQo+IHBhcnRpY3VsYXIgaXRlbSBhbmQgdGhlIG9w dGlvbiBuYW1lIGlzIGJ1aWxkXyRpdGVtLiBFeGFtcGxlOgo+IGJ1aWxkX292ZXJsYXkuIFdoZXJl IG5vdCBwb3NzaWJsZSwgdGhlIG9wdGlvbiBuYW1lIGlzCj4gd2l0aF8kaXRlbS4gRXhhbXBsZTog d2l0aF92YWxncmluZC4KPiAKPiBOb3RlLCB0aGUgb2xkIGhhY2sgZm9yIG5vdCBidWlsZGluZyBk b2NzIHdoZW4gY3Jvc3MtY29tcGlsaW5nIGlzCj4gZ29uZSwgYXMgZG9jIGJ1aWxkaW5nIGNhbiBi ZSBleHBsaWNpdGx5IGNvbnRyb2xsZWQgbm93Lgo+IAo+IEFzIGEgZHJpdmUtYnkgZml4LCBidWls ZGluZyB3aXRob3V0IGdsaWIgYWN0dWFsbHkgd29ya3MgYWdhaW4uCj4gCj4gU2lnbmVkLW9mZi1i eTogUGV0cmkgTGF0dmFsYSA8cGV0cmkubGF0dmFsYUBpbnRlbC5jb20+Cj4gQ2M6IE1hdHQgVHVy bmVyIDxtYXR0c3Q4OEBnbWFpbC5jb20+Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZnds bC5jaD4KPiBDYzogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KPiBDYzogQXJrYWRpdXN6 IEhpbGVyIDxhcmthZGl1c3ouaGlsZXJAaW50ZWwuY29tPgo+IC0tLQo+IAo+IE1hdHQsIGRvZXMg dGhpcyBtYXRjaCB5b3VyIGV4cGVjdGF0aW9ucz8KPiAKPiBFcmljLCBmb3Jld2FybmluZyBhYm91 dCB0aGUgY3Jvc3MtY29tcGlsaW5nIGFuZCBkb2N1bWVudGF0aW9uLgoKSnVzdCBhIHF1aWNrIGNv bW1lbnQgb24gdGhpczogVGhlIGNyb3NzLWNvbXBpbGluZyB3YXMgZHVlIHRvIHRoZQpidWlsZF9i eV9kZWZhdWx0IGhhY2ssIGFuZCB0aGUgbmVlZCB0byBydW4gdGhlIGNyb3NzLWNvbXBpbGVkIGJp bmFyaWVzIGluCnFlbXUgdXNpbmcgZW11bGF0aW9uLiBXaGljaCBpcyBkZWFkIHNsb3cuIFdpdGgg dGhlIGJ1aWxkX2J5X2RlZmF1bHQgaGFjawpnb25lLCB0aGlzIHNob3VsZG4ndCBiZSBhbiBpc3N1 ZSBhbnltb3JlLgotRGFuaWVsCgo+IAo+IAo+IGJlbmNobWFya3MvbWVzb24uYnVpbGQgfCAgIDQg Ky0KPiAgbGliL21lc29uLmJ1aWxkICAgICAgICB8ICAgNSArLQo+ICBtYW4vbWVzb24uYnVpbGQg ICAgICAgIHwgIDEwICsrKy0KPiAgbWVzb24uYnVpbGQgICAgICAgICAgICB8IDE1NiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCj4gIG1lc29uX29wdGlv bnMudHh0ICAgICAgfCAgNjAgKysrKysrKysrKysrKysrKysrKwo+ICBvdmVybGF5L21lc29uLmJ1 aWxkICAgIHwgIDQ2ICsrKysrKysrKysrLS0tLQo+ICB0ZXN0cy9tZXNvbi5idWlsZCAgICAgIHwg IDE4ICsrKy0tLQo+ICB0b29scy9tZXNvbi5idWlsZCAgICAgIHwgICAyICstCj4gIDggZmlsZXMg Y2hhbmdlZCwgMjU0IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1n aXQgYS9iZW5jaG1hcmtzL21lc29uLmJ1aWxkIGIvYmVuY2htYXJrcy9tZXNvbi5idWlsZAo+IGlu ZGV4IDI3ODM2YzFkLi5iYWYxMjQzZCAxMDA2NDQKPiAtLS0gYS9iZW5jaG1hcmtzL21lc29uLmJ1 aWxkCj4gKysrIGIvYmVuY2htYXJrcy9tZXNvbi5idWlsZAo+IEBAIC0zNSwxMCArMzUsMTAgQEAg Zm9yZWFjaCBwcm9nIDogYmVuY2htYXJrX3Byb2dzCj4gIAlleGVjdXRhYmxlKHByb2cgKyAnX2Jl bmNoJywgcHJvZyArICcuYycsCj4gIAkJICAgaW5zdGFsbCA6IHRydWUsCj4gIAkJICAgaW5zdGFs bF9kaXIgOiBiZW5jaG1hcmtzZGlyLAo+IC0JCSAgIGRlcGVuZGVuY2llcyA6IHRlc3RfZGVwcykK PiArCQkgICBkZXBlbmRlbmNpZXMgOiBpZ3RfZGVwcykKPiAgZW5kZm9yZWFjaAo+ICAKPiAgZXhl Y3V0YWJsZSgnZ2VtX3dzaW1fYmVuY2gnLCAnZ2VtX3dzaW0uYycsCj4gIAkgICBpbnN0YWxsIDog dHJ1ZSwKPiAgCSAgIGluc3RhbGxfZGlyIDogYmVuY2htYXJrc2RpciwKPiAtCSAgIGRlcGVuZGVu Y2llcyA6IHRlc3RfZGVwcyArIFsgbGliX2lndF9wZXJmIF0pCj4gKwkgICBkZXBlbmRlbmNpZXMg OiBpZ3RfZGVwcyArIFsgbGliX2lndF9wZXJmIF0pCj4gZGlmZiAtLWdpdCBhL2xpYi9tZXNvbi5i dWlsZCBiL2xpYi9tZXNvbi5idWlsZAo+IGluZGV4IDFhMzU1NDE0Li41ZWY5YjFhOCAxMDA2NDQK PiAtLS0gYS9saWIvbWVzb24uYnVpbGQKPiArKysgYi9saWIvbWVzb24uYnVpbGQKPiBAQCAtNTIs NyArNTIsNiBAQCBsaWJfc291cmNlcyA9IFsKPiAgCj4gIGxpYl9kZXBzID0gWwo+ICAJY2Fpcm8s Cj4gLQlnbGliLAo+ICAJbGliZHJtLAo+ICAJbGlia21vZCwKPiAgCWxpYnByb2NwcywKPiBAQCAt NjQsNiArNjMsMTAgQEAgbGliX2RlcHMgPSBbCj4gIAlyZWFsdGltZSwKPiAgXQo+ICAKPiAraWYg Z2xpYi5mb3VuZCgpCj4gKwlsaWJfZGVwcyArPSBnbGliCj4gK2VuZGlmCj4gKwo+ICBpZiBsaWJk cm1faW50ZWwuZm91bmQoKQo+ICAJbGliX2RlcHMgKz0gbGliZHJtX2ludGVsCj4gIGVsc2UKPiBk aWZmIC0tZ2l0IGEvbWFuL21lc29uLmJ1aWxkIGIvbWFuL21lc29uLmJ1aWxkCj4gaW5kZXggNDli MDY4NmEuLmZhMDFmOWRkIDEwMDY0NAo+IC0tLSBhL21hbi9tZXNvbi5idWlsZAo+ICsrKyBiL21h bi9tZXNvbi5idWlsZAo+IEBAIC0yMiwxMCArMjIsMTAgQEAgZGVmc19yc3QgPSBjb25maWd1cmVf ZmlsZShpbnB1dCA6ICdkZWZzLnJzdC5pbicsCj4gIAkJb3V0cHV0IDogJ2RlZnMucnN0JywKPiAg CQljb25maWd1cmF0aW9uIDogY29uZmlnKQo+ICAKPiAtcnN0Mm1hbiA9IGZpbmRfcHJvZ3JhbSgn cnN0Mm1hbicsIHJlcXVpcmVkIDogZmFsc2UpCj4gK3JzdDJtYW4gPSBmaW5kX3Byb2dyYW0oJ3Jz dDJtYW4nLCByZXF1aXJlZCA6IF9tYW5fcmVxdWlyZWQpCj4gIHJzdDJtYW5fc2NyaXB0ID0gZmlu ZF9wcm9ncmFtKCdyc3QybWFuLnNoJykKPiAgCj4gLWlmIHJzdDJtYW4uZm91bmQoKQo+ICtpZiBf YnVpbGRfbWFuIGFuZCByc3QybWFuLmZvdW5kKCkKPiAgCWZvcmVhY2ggbWFucGFnZSA6IG1hbnBh Z2VzCj4gIAkJY3VzdG9tX3RhcmdldChtYW5wYWdlICsgJy4xJywKPiAgCQkJCWJ1aWxkX2J5X2Rl ZmF1bHQgOiB0cnVlLAo+IEBAIC0zNiw0ICszNiwxMCBAQCBpZiByc3QybWFuLmZvdW5kKCkKPiAg CQkJCWluc3RhbGwgOiB0cnVlLAo+ICAJCQkJaW5zdGFsbF9kaXIgOiBqb2luX3BhdGhzKG1hbmRp ciwgJ21hbjEnKSkKPiAgCWVuZGZvcmVhY2gKPiArCWJ1aWxkX2luZm8gKz0gJ0J1aWxkIG1hbiBw YWdlczogWWVzJwo+ICtlbHNlCj4gKwlpZiBfbWFuX3JlcXVpcmVkCj4gKwkJZXJyb3IoJ0Nhbm5v dCBidWlsZCBtYW4gcGFnZXMgZHVlIHRvIG1pc3NpbmcgZGVwZW5kZW5jaWVzJykKPiArCWVuZGlm Cj4gKwlidWlsZF9pbmZvICs9ICdCdWlsZCBtYW4gcGFnZXM6IE5vJwo+ICBlbmRpZgo+IGRpZmYg LS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCj4gaW5kZXggY2Q3MzZkOGUuLmMyYzI5 Yjg1IDEwMDY0NAo+IC0tLSBhL21lc29uLmJ1aWxkCj4gKysrIGIvbWVzb24uYnVpbGQKPiBAQCAt MjYsMzkgKzI2LDEyOSBAQCBmb3JlYWNoIGNjX2FyZyA6IGNjX2FyZ3MKPiAgICBlbmRpZgo+ICBl bmRmb3JlYWNoCj4gIAo+ICtfYnVpbGRfb3ZlcmxheSA9IGZhbHNlCj4gK19vdmVybGF5X3JlcXVp cmVkID0gZmFsc2UKPiArX2J1aWxkX21hbiA9IGZhbHNlCj4gK19tYW5fcmVxdWlyZWQgPSBmYWxz ZQo+ICtfYnVpbGRfYXVkaW8gPSBmYWxzZQo+ICtfYXVkaW9fcmVxdWlyZWQgPSBmYWxzZQo+ICtf YnVpbGRfY2hhbWVsaXVtID0gZmFsc2UKPiArX2NoYW1lbGl1bV9yZXF1aXJlZCA9IGZhbHNlCj4g K19idWlsZF9kb2NzID0gZmFsc2UKPiArX2RvY3NfcmVxdWlyZWQgPSBmYWxzZQo+ICtfYnVpbGRf dGVzdHMgPSBmYWxzZQo+ICtfdGVzdHNfcmVxdWlyZWQgPSBmYWxzZQo+ICsKPiArYnVpbGRfb3Zl cmxheSA9IGdldF9vcHRpb24oJ2J1aWxkX292ZXJsYXknKQo+ICtvdmVybGF5X2JhY2tlbmRzID0g Z2V0X29wdGlvbignb3ZlcmxheV9iYWNrZW5kcycpCj4gK2J1aWxkX21hbiA9IGdldF9vcHRpb24o J2J1aWxkX21hbicpCj4gK3dpdGhfdmFsZ3JpbmQgPSBnZXRfb3B0aW9uKCd3aXRoX3ZhbGdyaW5k JykKPiArd2l0aF9nbGliID0gZ2V0X29wdGlvbignd2l0aF9nbGliJykKPiArYnVpbGRfYXVkaW8g PSBnZXRfb3B0aW9uKCdidWlsZF9hdWRpbycpCj4gK2J1aWxkX2NoYW1lbGl1bSA9IGdldF9vcHRp b24oJ2J1aWxkX2NoYW1lbGl1bScpCj4gK2J1aWxkX2RvY3MgPSBnZXRfb3B0aW9uKCdidWlsZF9k b2NzJykKPiArYnVpbGRfdGVzdHMgPSBnZXRfb3B0aW9uKCdidWlsZF90ZXN0cycpCj4gK3dpdGhf bGliZHJtID0gZ2V0X29wdGlvbignd2l0aF9saWJkcm0nKQo+ICsKPiArX2J1aWxkX292ZXJsYXkg PSBidWlsZF9vdmVybGF5ICE9ICdmYWxzZScKPiArX292ZXJsYXlfcmVxdWlyZWQgPSBidWlsZF9v dmVybGF5ID09ICd0cnVlJwo+ICtfYnVpbGRfbWFuID0gYnVpbGRfbWFuICE9ICdmYWxzZScKPiAr X21hbl9yZXF1aXJlZCA9IGJ1aWxkX21hbiA9PSAndHJ1ZScKPiArX2J1aWxkX2F1ZGlvID0gYnVp bGRfYXVkaW8gIT0gJ2ZhbHNlJwo+ICtfYXVkaW9fcmVxdWlyZWQgPSBidWlsZF9hdWRpbyA9PSAn dHJ1ZScKPiArX2J1aWxkX2NoYW1lbGl1bSA9IGJ1aWxkX2NoYW1lbGl1bSAhPSAnZmFsc2UnCj4g K19jaGFtZWxpdW1fcmVxdWlyZWQgPSBidWlsZF9jaGFtZWxpdW0gPT0gJ3RydWUnCj4gK19idWls ZF9kb2NzID0gYnVpbGRfZG9jcyAhPSAnZmFsc2UnCj4gK19kb2NzX3JlcXVpcmVkID0gYnVpbGRf ZG9jcyA9PSAndHJ1ZScKPiArX2J1aWxkX3Rlc3RzID0gYnVpbGRfdGVzdHMgIT0gJ2ZhbHNlJwo+ ICtfdGVzdHNfcmVxdWlyZWQgPSBidWlsZF90ZXN0cyA9PSAndHJ1ZScKPiArCj4gK2J1aWxkX2lu Zm8gPSBbXQo+ICsKPiAgaW5jID0gaW5jbHVkZV9kaXJlY3RvcmllcygnaW5jbHVkZS9kcm0tdWFw aScsICdsaWInLCAnLicpCj4gIAo+ICBpbmNfZm9yX2d0a2RvYyA9IGluY2x1ZGVfZGlyZWN0b3Jp ZXMoJ2xpYicpCj4gIAo+ICBjb25maWcgPSBjb25maWd1cmF0aW9uX2RhdGEoKQo+ICAKPiArbnVs bF9kZXAgPSBkZXBlbmRlbmN5KCcnLCByZXF1aXJlZCA6IGZhbHNlKQo+ICsKPiArbGliZHJtX2lu Zm8gPSBbXQo+ICtsaWJkcm1faW50ZWwgPSBudWxsX2RlcAo+ICtsaWJkcm1fbm91dmVhdSA9IG51 bGxfZGVwCj4gK2xpYmRybV9hbWRncHUgPSBudWxsX2RlcAo+ICsKPiAgbGliZHJtX3ZlcnNpb24g PSAnPj0yLjQuODInCj4gIGxpYmRybSA9IGRlcGVuZGVuY3koJ2xpYmRybScsIHZlcnNpb24gOiBs aWJkcm1fdmVyc2lvbikKPiAtbGliZHJtX2ludGVsID0gZGVwZW5kZW5jeSgnbGliZHJtX2ludGVs JywgdmVyc2lvbiA6IGxpYmRybV92ZXJzaW9uLCByZXF1aXJlZCA6IGZhbHNlKQo+IC1saWJkcm1f bm91dmVhdSA9IGRlcGVuZGVuY3koJ2xpYmRybV9ub3V2ZWF1JywgdmVyc2lvbiA6IGxpYmRybV92 ZXJzaW9uLCByZXF1aXJlZCA6IGZhbHNlKQo+IC1saWJkcm1fYW1kZ3B1ID0gZGVwZW5kZW5jeSgn bGliZHJtX2FtZGdwdScsIHZlcnNpb24gOiBsaWJkcm1fdmVyc2lvbiwgcmVxdWlyZWQgOiBmYWxz ZSkKPiAraWYgd2l0aF9saWJkcm0uY29udGFpbnMoJ2F1dG8nKSBvciB3aXRoX2xpYmRybS5jb250 YWlucygnaW50ZWwnKQo+ICsJbGliZHJtX2ludGVsID0gZGVwZW5kZW5jeSgnbGliZHJtX2ludGVs JywgdmVyc2lvbiA6IGxpYmRybV92ZXJzaW9uLCByZXF1aXJlZCA6IHdpdGhfbGliZHJtLmNvbnRh aW5zKCdpbnRlbCcpKQo+ICsJbGliZHJtX2luZm8gKz0gJ2ludGVsJwo+ICtlbmRpZgo+ICtpZiB3 aXRoX2xpYmRybS5jb250YWlucygnYXV0bycpIG9yIHdpdGhfbGliZHJtLmNvbnRhaW5zKCdub3V2 ZWF1JykKPiArCWxpYmRybV9ub3V2ZWF1ID0gZGVwZW5kZW5jeSgnbGliZHJtX25vdXZlYXUnLCB2 ZXJzaW9uIDogbGliZHJtX3ZlcnNpb24sIHJlcXVpcmVkIDogd2l0aF9saWJkcm0uY29udGFpbnMo J25vdXZlYXUnKSkKPiArCWxpYmRybV9pbmZvICs9ICdub3V2ZWF1Jwo+ICtlbmRpZgo+ICtpZiB3 aXRoX2xpYmRybS5jb250YWlucygnYXV0bycpIG9yIHdpdGhfbGliZHJtLmNvbnRhaW5zKCdhbWRn cHUnKQo+ICsJbGliZHJtX2FtZGdwdSA9IGRlcGVuZGVuY3koJ2xpYmRybV9hbWRncHUnLCB2ZXJz aW9uIDogbGliZHJtX3ZlcnNpb24sIHJlcXVpcmVkIDogd2l0aF9saWJkcm0uY29udGFpbnMoJ2Ft ZGdwdScpKQo+ICsJbGliZHJtX2luZm8gKz0gJ2FtZGdwdScKPiArZW5kaWYKPiArCj4gK2J1aWxk X2luZm8gKz0gJ1dpdGggbGliZHJtOiAnICsgJywnLmpvaW4obGliZHJtX2luZm8pCj4gIAo+ICBw Y2lhY2Nlc3MgPSBkZXBlbmRlbmN5KCdwY2lhY2Nlc3MnLCB2ZXJzaW9uIDogJz49MC4xMCcpCj4g IGxpYmttb2QgPSBkZXBlbmRlbmN5KCdsaWJrbW9kJykKPiAgbGlicHJvY3BzID0gZGVwZW5kZW5j eSgnbGlicHJvY3BzJywgcmVxdWlyZWQgOiB0cnVlKQo+ICBsaWJ1bndpbmQgPSBkZXBlbmRlbmN5 KCdsaWJ1bndpbmQnLCByZXF1aXJlZCA6IHRydWUpCj4gIAo+IC12YWxncmluZCA9IGRlcGVuZGVu Y3koJ3ZhbGdyaW5kJywgcmVxdWlyZWQgOiBmYWxzZSkKPiAtaWYgdmFsZ3JpbmQuZm91bmQoKQo+ IC0JY29uZmlnLnNldCgnSEFWRV9WQUxHUklORCcsIDEpCj4gK3ZhbGdyaW5kID0gbnVsbF9kZXAK PiArdmFsZ3JpbmRpbmZvID0gJ05vJwo+ICtpZiB3aXRoX3ZhbGdyaW5kICE9ICdmYWxzZScKPiAr CXZhbGdyaW5kID0gZGVwZW5kZW5jeSgndmFsZ3JpbmQnLCByZXF1aXJlZCA6IHdpdGhfdmFsZ3Jp bmQgPT0gJ3RydWUnKQo+ICsJaWYgdmFsZ3JpbmQuZm91bmQoKQo+ICsJCWNvbmZpZy5zZXQoJ0hB VkVfVkFMR1JJTkQnLCAxKQo+ICsJCXZhbGdyaW5kaW5mbyA9ICdZZXMnCj4gKwllbmRpZgo+ICBl bmRpZgo+ICtidWlsZF9pbmZvICs9ICdWYWxncmluZCBhbm5vdGF0aW9uczogJyArIHZhbGdyaW5k aW5mbwo+ICAKPiAgY2Fpcm8gPSBkZXBlbmRlbmN5KCdjYWlybycsIHZlcnNpb24gOiAnPjEuMTIu MCcsIHJlcXVpcmVkIDogdHJ1ZSkKPiAgbGlidWRldiA9IGRlcGVuZGVuY3koJ2xpYnVkZXYnLCBy ZXF1aXJlZCA6IHRydWUpCj4gLWdsaWIgPSBkZXBlbmRlbmN5KCdnbGliLTIuMCcsIHJlcXVpcmVk IDogZmFsc2UpCj4gLWlmIGdsaWIuZm91bmQoKQo+IC0JY29uZmlnLnNldCgnSEFWRV9HTElCJywg MSkKPiArCj4gK2dsaWIgPSBudWxsX2RlcAo+ICtnbGliaW5mbyA9ICdObycKPiAraWYgd2l0aF9n bGliICE9ICdmYWxzZScKPiArCWdsaWIgPSBkZXBlbmRlbmN5KCdnbGliLTIuMCcsIHJlcXVpcmVk IDogd2l0aF9nbGliID09ICd0cnVlJykKPiArCWlmIGdsaWIuZm91bmQoKQo+ICsJCWNvbmZpZy5z ZXQoJ0hBVkVfR0xJQicsIDEpCj4gKwkJZ2xpYmluZm8gPSAnWWVzJwo+ICsJZW5kaWYKPiArZW5k aWYKPiArYnVpbGRfaW5mbyArPSAnVXNlIEdMaWI6ICcgKyBnbGliaW5mbwo+ICsKPiArZ3NsID0g bnVsbF9kZXAKPiArYWxzYSA9IG51bGxfZGVwCj4gK3BpeG1hbiA9IG51bGxfZGVwCj4gK2lmIF9i dWlsZF9hdWRpbyBvciBfYnVpbGRfY2hhbWVsaXVtCj4gKwlnc2wgPSBkZXBlbmRlbmN5KCdnc2wn LCByZXF1aXJlZCA6IF9hdWRpb19yZXF1aXJlZCBvciBfY2hhbWVsaXVtX3JlcXVpcmVkKQo+ICtl bmRpZgo+ICtpZiBfYnVpbGRfYXVkaW8KPiArCWFsc2EgPSBkZXBlbmRlbmN5KCdhbHNhJywgcmVx dWlyZWQgOiBfYXVkaW9fcmVxdWlyZWQpCj4gK2VuZGlmCj4gK2lmIF9idWlsZF9jaGFtZWxpdW0K PiArCXBpeG1hbiA9IGRlcGVuZGVuY3koJ3BpeG1hbi0xJywgcmVxdWlyZWQgOiBfY2hhbWVsaXVt X3JlcXVpcmVkKQo+ICBlbmRpZgo+ICAKPiAtZ3NsID0gZGVwZW5kZW5jeSgnZ3NsJywgcmVxdWly ZWQgOiBmYWxzZSkKPiAtYWxzYSA9IGRlcGVuZGVuY3koJ2Fsc2EnLCByZXF1aXJlZCA6IGZhbHNl KQo+ICthdWRpb2luZm8gPSAnTm8nCj4gK2lmIF9idWlsZF9hdWRpbyBhbmQgYWxzYS5mb3VuZCgp IGFuZCBnc2wuZm91bmQoKQo+ICsJYXVkaW9pbmZvID0gJ1llcycKPiArZWxzZQo+ICsJaWYgX2F1 ZGlvX3JlcXVpcmVkCj4gKwkJZXJyb3IoJ0Nhbm5vdCBidWlsZCBhdWRpbyB0ZXN0IGR1ZSB0byBt aXNzaW5nIGRlcGVuZGVuY2llcycpCj4gKwllbmRpZgo+ICsJX2J1aWxkX2F1ZGlvID0gZmFsc2UK PiArZW5kaWYKPiArYnVpbGRfaW5mbyArPSAnQnVpbGQgYXVkaW8gdGVzdDogJyArIGF1ZGlvaW5m bwo+ICAKPiAtcGl4bWFuID0gZGVwZW5kZW5jeSgncGl4bWFuLTEnLCByZXF1aXJlZCA6IGZhbHNl KQo+ICB4bWxycGMgPSBkZXBlbmRlbmN5KCd4bWxycGMnLCByZXF1aXJlZCA6IGZhbHNlKQo+ICB4 bWxycGNfdXRpbCA9IGRlcGVuZGVuY3koJ3htbHJwY191dGlsJywgcmVxdWlyZWQgOiBmYWxzZSkK PiAgeG1scnBjX2NsaWVudCA9IGRlcGVuZGVuY3koJ3htbHJwY19jbGllbnQnLCByZXF1aXJlZCA6 IGZhbHNlKQo+IEBAIC03NiwxMyArMTY2LDE3IEBAIGlmIG5vdCB4bWxycGMuZm91bmQoKSBhbmQg eG1scnBjX2NtZC5mb3VuZCgpCj4gIAllbmRpZgo+ICBlbmRpZgo+ICAKPiAtaWYgcGl4bWFuLmZv dW5kKCkgYW5kIGdzbC5mb3VuZCgpIGFuZCB4bWxycGMuZm91bmQoKSBhbmQgeG1scnBjX3V0aWwu Zm91bmQoKSBhbmQgeG1scnBjX2NsaWVudC5mb3VuZCgpCj4gK2NoYW1lbGl1bSA9IG51bGxfZGVw Cj4gK2NoYW1lbGl1bWluZm8gPSAnTm8nCj4gK2lmIF9idWlsZF9jaGFtZWxpdW0gYW5kIHBpeG1h bi5mb3VuZCgpIGFuZCBnc2wuZm91bmQoKSBhbmQgeG1scnBjLmZvdW5kKCkgYW5kIHhtbHJwY191 dGlsLmZvdW5kKCkgYW5kIHhtbHJwY19jbGllbnQuZm91bmQoKSBhbmQgZ2xpYi5mb3VuZCgpCj4g IAljaGFtZWxpdW0gPSBkZWNsYXJlX2RlcGVuZGVuY3koZGVwZW5kZW5jaWVzIDogWyBwaXhtYW4s IHhtbHJwYywKPiAtCSAgeG1scnBjX3V0aWwsIHhtbHJwY19jbGllbnRdKQo+ICsJCQkJCQkJeG1s cnBjX3V0aWwsIHhtbHJwY19jbGllbnRdKQo+ICAJY29uZmlnLnNldCgnSEFWRV9DSEFNRUxJVU0n LCAxKQo+IC1lbHNlCj4gLQljaGFtZWxpdW0gPSBkZXBlbmRlbmN5KCcnLCByZXF1aXJlZDogZmFs c2UpCj4gKwljaGFtZWxpdW1pbmZvID0gJ1llcycKPiArZWxpZiBfY2hhbWVsaXVtX3JlcXVpcmVk Cj4gKwllcnJvcignQ2Fubm90IGJ1aWxkIGNoYW1lbGl1bSB0ZXN0IGR1ZSB0byBtaXNzaW5nIGRl cGVuZGVuY2llcycpCj4gIGVuZGlmCj4gK2J1aWxkX2luZm8gKz0gJ0J1aWxkIENoYW1lbGl1bSB0 ZXN0OiAnICsgY2hhbWVsaXVtaW5mbwo+ICAKPiAgcHRocmVhZHMgPSBkZXBlbmRlbmN5KCd0aHJl YWRzJykKPiAgbWF0aCA9IGNjLmZpbmRfbGlicmFyeSgnbScpCj4gQEAgLTEzMywxNyArMjI3LDMz IEBAIG1hbmRpciA9IGdldF9vcHRpb24oJ21hbmRpcicpCj4gIHBrZ2NvbmZpZ2RpciA9IGpvaW5f cGF0aHMobGliZGlyLCAncGtnY29uZmlnJykKPiAgCj4gIHN1YmRpcignbGliJykKPiAtc3ViZGly KCd0ZXN0cycpCj4gK2lmIF9idWlsZF90ZXN0cwo+ICsJc3ViZGlyKCd0ZXN0cycpCj4gKwlidWls ZF9pbmZvICs9ICdCdWlsZCB0ZXN0czogWWVzJwo+ICtlbHNlCj4gKwlidWlsZF9pbmZvICs9ICdC dWlsZCB0ZXN0czogTm8nCj4gK2VuZGlmCj4gIHN1YmRpcignYmVuY2htYXJrcycpCj4gIHN1YmRp cigndG9vbHMnKQo+ICBpZiBsaWJkcm1faW50ZWwuZm91bmQoKQo+ICAJc3ViZGlyKCdhc3NlbWJs ZXInKQo+IC0JaWYgWyd4ODYnLCAneDg2XzY0J10uY29udGFpbnMoaG9zdF9tYWNoaW5lLmNwdV9m YW1pbHkoKSkKPiAtCQlzdWJkaXIoJ292ZXJsYXknKQo+IC0JZW5kaWYKPiAgZW5kaWYKPiArc3Vi ZGlyKCdvdmVybGF5JykKPiAgc3ViZGlyKCdtYW4nKQo+IC0jIGhhc19leGVfd3JhcHBlcigpIGlz IHVuZGVmaW5lZCBpZiBidWlsZGluZyBuYXRpdmVseQo+IC1pZiBub3QgbWVzb24uaXNfY3Jvc3Nf YnVpbGQoKSBvciBub3QgbWVzb24uaGFzX2V4ZV93cmFwcGVyKCkKPiAtCXN1YmRpcignZG9jcycp Cj4gKwo+ICtkb2NzX2luZm8gPSAnTm8nCj4gK2lmIF9idWlsZF9kb2NzCj4gKwlpZiBfYnVpbGRf dGVzdHMKPiArCQlzdWJkaXIoJ2RvY3MnKQo+ICsJCWRvY3NfaW5mbyA9ICdZZXMnCj4gKwllbGlm IF9kb2NzX3JlcXVpcmVkCj4gKwkJZXJyb3IoJ0RvY3VtZW50YXRpb24gcmVxdWlyZXMgYnVpbGRp bmcgdGVzdHMnKQo+ICsJZW5kaWYKPiAgZW5kaWYKPiArYnVpbGRfaW5mbyArPSAnQnVpbGQgZG9j dW1lbnRhdGlvbjogJyArIGRvY3NfaW5mbwo+ICsKPiArbWVzc2FnZSgnQnVpbGQgb3B0aW9ucycp Cj4gK21lc3NhZ2UoJz09PT09PT09PT09PT0nKQo+ICtmb3JlYWNoIHN0ciA6IGJ1aWxkX2luZm8K PiArCW1lc3NhZ2Uoc3RyKQo+ICtlbmRmb3JlYWNoCj4gZGlmZiAtLWdpdCBhL21lc29uX29wdGlv bnMudHh0IGIvbWVzb25fb3B0aW9ucy50eHQKPiBpbmRleCA0MWJlMzVlMC4uOWZmMmZkOTYgMTAw NjQ0Cj4gLS0tIGEvbWVzb25fb3B0aW9ucy50eHQKPiArKysgYi9tZXNvbl9vcHRpb25zLnR4dAo+ IEBAIC0xLDMgKzEsNjMgQEAKPiArb3B0aW9uKCdidWlsZF9vdmVybGF5JywKPiArICAgICAgIHR5 cGUgOiAnY29tYm8nLAo+ICsgICAgICAgdmFsdWUgOiAnYXV0bycsCj4gKyAgICAgICBjaG9pY2Vz IDogWydhdXRvJywgJ3RydWUnLCAnZmFsc2UnXSwKPiArICAgICAgIGRlc2NyaXB0aW9uIDogJ0J1 aWxkIG92ZXJsYXknKQo+ICsKPiArb3B0aW9uKCdvdmVybGF5X2JhY2tlbmRzJywKPiArICAgICAg IHR5cGUgOiAnYXJyYXknLAo+ICsgICAgICAgdmFsdWUgOiBbJ2F1dG8nXSwKPiArICAgICAgIGNo b2ljZXMgOiBbICdhdXRvJywgJ3gnLCAneHYnIF0sCj4gKyAgICAgICBkZXNjcmlwdGlvbiA6ICdP dmVybGF5IGJhY2tlbmRzIHRvIGVuYWJsZScpCj4gKwo+ICtvcHRpb24oJ2J1aWxkX2F1ZGlvJywK PiArICAgICAgIHR5cGUgOiAnY29tYm8nLAo+ICsgICAgICAgdmFsdWUgOiAnYXV0bycsCj4gKyAg ICAgICBjaG9pY2VzIDogWydhdXRvJywgJ3RydWUnLCAnZmFsc2UnXSwKPiArICAgICAgIGRlc2Ny aXB0aW9uIDogJ0J1aWxkIGF1ZGlvIHRlc3QnKQo+ICsKPiArb3B0aW9uKCdidWlsZF9jaGFtZWxp dW0nLAo+ICsgICAgICAgdHlwZSA6ICdjb21ibycsCj4gKyAgICAgICB2YWx1ZSA6ICdhdXRvJywK PiArICAgICAgIGNob2ljZXMgOiBbJ2F1dG8nLCAndHJ1ZScsICdmYWxzZSddLAo+ICsgICAgICAg ZGVzY3JpcHRpb24gOiAnQnVpbGQgY2hhbWVsaXVtIHRlc3QnKQo+ICsKPiArb3B0aW9uKCd3aXRo X3ZhbGdyaW5kJywKPiArICAgICAgIHR5cGUgOiAnY29tYm8nLAo+ICsgICAgICAgdmFsdWUgOiAn YXV0bycsCj4gKyAgICAgICBjaG9pY2VzIDogWydhdXRvJywgJ3RydWUnLCAnZmFsc2UnXSwKPiAr ICAgICAgIGRlc2NyaXB0aW9uIDogJ0J1aWxkIHdpdGggc3VwcG9ydCBmb3IgdmFsZ3JpbmQgYW5u b3RhdGlvbnMnKQo+ICsKPiArb3B0aW9uKCd3aXRoX2dsaWInLAo+ICsgICAgICAgdHlwZSA6ICdj b21ibycsCj4gKyAgICAgICB2YWx1ZSA6ICdhdXRvJywKPiArICAgICAgIGNob2ljZXMgOiBbJ2F1 dG8nLCAndHJ1ZScsICdmYWxzZSddLAo+ICsgICAgICAgZGVzY3JpcHRpb24gOiAnTGluayB3aXRo IEdMaWInKQo+ICsKPiArb3B0aW9uKCdidWlsZF9tYW4nLAo+ICsgICAgICAgdHlwZSA6ICdjb21i bycsCj4gKyAgICAgICB2YWx1ZSA6ICdhdXRvJywKPiArICAgICAgIGNob2ljZXMgOiBbJ2F1dG8n LCAndHJ1ZScsICdmYWxzZSddLAo+ICsgICAgICAgZGVzY3JpcHRpb24gOiAnQnVpbGQgbWFuIHBh Z2VzJykKPiArCj4gK29wdGlvbignYnVpbGRfZG9jcycsCj4gKyAgICAgICB0eXBlIDogJ2NvbWJv JywKPiArICAgICAgIHZhbHVlIDogJ2F1dG8nLAo+ICsgICAgICAgY2hvaWNlcyA6IFsnYXV0bycs ICd0cnVlJywgJ2ZhbHNlJ10sCj4gKyAgICAgICBkZXNjcmlwdGlvbiA6ICdCdWlsZCBkb2N1bWVu dGF0aW9uJykKPiArCj4gK29wdGlvbignYnVpbGRfdGVzdHMnLAo+ICsgICAgICAgdHlwZSA6ICdj b21ibycsCj4gKyAgICAgICB2YWx1ZSA6ICdhdXRvJywKPiArICAgICAgIGNob2ljZXMgOiBbJ2F1 dG8nLCAndHJ1ZScsICdmYWxzZSddLAo+ICsgICAgICAgZGVzY3JpcHRpb24gOiAnQnVpbGQgdGVz dHMnKQo+ICsKPiArb3B0aW9uKCd3aXRoX2xpYmRybScsCj4gKyAgICAgICB0eXBlIDogJ2FycmF5 JywKPiArICAgICAgIHZhbHVlIDogWydhdXRvJ10sCj4gKyAgICAgICBjaG9pY2VzIDogWycnLCAn YXV0bycsICdpbnRlbCcsICdub3V2ZWF1JywgJ2FtZGdwdSddLAo+ICsgICAgICAgZGVzY3JpcHRp b24gOiAnbGliZHJtIGxpYnJhcmllcyB0byBiZSB1c2VkJykKPiArCj4gIG9wdGlvbigndXNlX3Jw YXRoJywKPiAgICAgICAgIHR5cGUgOiAnYm9vbGVhbicsCj4gICAgICAgICB2YWx1ZSA6IGZhbHNl LAo+IGRpZmYgLS1naXQgYS9vdmVybGF5L21lc29uLmJ1aWxkIGIvb3ZlcmxheS9tZXNvbi5idWls ZAo+IGluZGV4IDU0NmM4Mzc3Li40NmQyZDQ5NCAxMDA2NDQKPiAtLS0gYS9vdmVybGF5L21lc29u LmJ1aWxkCj4gKysrIGIvb3ZlcmxheS9tZXNvbi5idWlsZAo+IEBAIC0xNCwyMCArMTQsMzUgQEAg Z3B1X292ZXJsYXlfc3JjID0gWwo+ICAJJ3JjNi5jJywKPiAgXQo+ICAKPiAteHYgPSBkZXBlbmRl bmN5KCd4dicsIHJlcXVpcmVkIDogZmFsc2UpCj4gLXgxMSA9IGRlcGVuZGVuY3koJ3gxMScsIHJl cXVpcmVkIDogZmFsc2UpCj4gLXhleHQgPSBkZXBlbmRlbmN5KCd4ZXh0JywgcmVxdWlyZWQgOiBm YWxzZSkKPiAtZHJpMnByb3RvID0gZGVwZW5kZW5jeSgnZHJpMnByb3RvJywgdmVyc2lvbiA6ICc+ PSAyLjYnLCByZXF1aXJlZCA6IGZhbHNlKQo+IC1jYWlyb194bGliID0gZGVwZW5kZW5jeSgnY2Fp cm8teGxpYicsIHJlcXVpcmVkIDogZmFsc2UpCj4gLXhyYW5kciA9IGRlcGVuZGVuY3koJ3hyYW5k cicsIHZlcnNpb24gOiAnPj0xLjMnLCByZXF1aXJlZCA6IGZhbHNlKQo+ICt4dl9iYWNrZW5kX3Jl cXVpcmVkID0gZmFsc2UKPiAreGxpYl9iYWNrZW5kX3JlcXVpcmVkID0gZmFsc2UKPiArYnVpbGRf eHZfYmFja2VuZCA9IG92ZXJsYXlfYmFja2VuZHMuY29udGFpbnMoJ3h2Jykgb3Igb3ZlcmxheV9i YWNrZW5kcy5jb250YWlucygnYXV0bycpCj4gK2J1aWxkX3hsaWJfYmFja2VuZCA9IG92ZXJsYXlf YmFja2VuZHMuY29udGFpbnMoJ3gnKSBvciBvdmVybGF5X2JhY2tlbmRzLmNvbnRhaW5zKCdhdXRv JykKPiAraWYgX292ZXJsYXlfcmVxdWlyZWQKPiArCXh2X2JhY2tlbmRfcmVxdWlyZWQgPSBvdmVy bGF5X2JhY2tlbmRzLmNvbnRhaW5zKCd4dicpCj4gKwl4bGliX2JhY2tlbmRfcmVxdWlyZWQgPSBv dmVybGF5X2JhY2tlbmRzLmNvbnRhaW5zKCd4JykKPiArZW5kaWYKPiArCj4gK3h2ID0gZGVwZW5k ZW5jeSgneHYnLCByZXF1aXJlZCA6IHh2X2JhY2tlbmRfcmVxdWlyZWQpCj4gK3gxMSA9IGRlcGVu ZGVuY3koJ3gxMScsIHJlcXVpcmVkIDogeHZfYmFja2VuZF9yZXF1aXJlZCkKPiAreGV4dCA9IGRl cGVuZGVuY3koJ3hleHQnLCByZXF1aXJlZCA6IHh2X2JhY2tlbmRfcmVxdWlyZWQpCj4gK2RyaTJw cm90byA9IGRlcGVuZGVuY3koJ2RyaTJwcm90bycsCj4gKwkJICAgICAgIHZlcnNpb24gOiAnPj0g Mi42JywKPiArCQkgICAgICAgcmVxdWlyZWQgOiB4dl9iYWNrZW5kX3JlcXVpcmVkIG9yIHhsaWJf YmFja2VuZF9yZXF1aXJlZCkKPiArY2Fpcm9feGxpYiA9IGRlcGVuZGVuY3koJ2NhaXJvLXhsaWIn LCByZXF1aXJlZCA6IHhsaWJfYmFja2VuZF9yZXF1aXJlZCkKPiAreHJhbmRyID0gZGVwZW5kZW5j eSgneHJhbmRyJywgdmVyc2lvbiA6ICc+PTEuMycsIHJlcXVpcmVkIDogX292ZXJsYXlfcmVxdWly ZWQpCj4gIAo+ICBncHVfb3ZlcmxheV9kZXBzID0gWyByZWFsdGltZSwgbWF0aCwgY2Fpcm8sIHBj aWFjY2VzcywgbGliZHJtLAo+ICAJbGliZHJtX2ludGVsLCBsaWJfaWd0X3BlcmYgXQo+ICAKPiAg Ym90aF94MTFfc3JjID0gJycKPiAgCj4gK3dpdGhfeHZfYmFja2VuZCA9IGZhbHNlCj4gK3dpdGhf eGxpYl9iYWNrZW5kID0gZmFsc2UKPiArYmFja2VuZHNfc3RyaW5ncyA9IFtdCj4gKwo+ICBncHVf b3ZlcmxheV9jZmxhZ3MgPSBbXQo+IC1pZiB4di5mb3VuZCgpIGFuZCB4MTEuZm91bmQoKSBhbmQg eGV4dC5mb3VuZCgpIGFuZCBkcmkycHJvdG8uZm91bmQoKQo+ICtpZiBidWlsZF94dl9iYWNrZW5k IGFuZCB4di5mb3VuZCgpIGFuZCB4MTEuZm91bmQoKSBhbmQgeGV4dC5mb3VuZCgpIGFuZCBkcmky cHJvdG8uZm91bmQoKQo+ICAJYm90aF94MTFfc3JjID0gJ3gxMS9wb3NpdGlvbi5jJwo+ICAJZ3B1 X292ZXJsYXlfc3JjICs9IFsKPiAgCQkneDExL2RyaTIuYycsCj4gQEAgLTM4LDIwICs1MywyNCBA QCBpZiB4di5mb3VuZCgpIGFuZCB4MTEuZm91bmQoKSBhbmQgeGV4dC5mb3VuZCgpIGFuZCBkcmky cHJvdG8uZm91bmQoKQo+ICAJXQo+ICAJZ3B1X292ZXJsYXlfZGVwcyArPSBbIHh2LCB4MTEsIHhl eHQsIGRyaTJwcm90byBdCj4gIAlncHVfb3ZlcmxheV9jZmxhZ3MgKz0gWyAnLURIQVZFX09WRVJM QVlfWFZMSUInIF0KPiArCXdpdGhfeHZfYmFja2VuZCA9IHRydWUKPiArCWJhY2tlbmRzX3N0cmlu Z3MgKz0gJ1h2Jwo+ICBlbmRpZgo+ICAKPiAtaWYgY2Fpcm9feGxpYi5mb3VuZCgpIGFuZCB4cmFu ZHIuZm91bmQoKSBhbmQgZHJpMnByb3RvLmZvdW5kKCkKPiAraWYgYnVpbGRfeGxpYl9iYWNrZW5k IGFuZCBjYWlyb194bGliLmZvdW5kKCkgYW5kIGRyaTJwcm90by5mb3VuZCgpCj4gIAlib3RoX3gx MV9zcmMgPSAneDExL3Bvc2l0aW9uLmMnCj4gIAlncHVfb3ZlcmxheV9zcmMgKz0gJ3gxMS94MTEt d2luZG93LmMnCj4gIAlncHVfb3ZlcmxheV9kZXBzICs9IFsgY2Fpcm9feGxpYiwgZHJpMnByb3Rv IF0KPiAgCWdwdV9vdmVybGF5X2NmbGFncyArPSBbICctREhBVkVfT1ZFUkxBWV9YTElCJyBdCj4g Kwl3aXRoX3hsaWJfYmFja2VuZCA9IHRydWUKPiArCWJhY2tlbmRzX3N0cmluZ3MgKz0gJ1gnCj4g IGVuZGlmCj4gIAo+ICBncHVfb3ZlcmxheV9zcmMgKz0gYm90aF94MTFfc3JjCj4gIAo+ICBncHVf b3ZlcmxheV9zcmMgKz0gJ2ttcy9rbXMtb3ZlcmxheS5jJwo+ICAKPiAtbGVnID0gZmluZF9wcm9n cmFtKCdsZWcnLCByZXF1aXJlZCA6IGZhbHNlKQo+ICtsZWcgPSBmaW5kX3Byb2dyYW0oJ2xlZycs IHJlcXVpcmVkIDogX292ZXJsYXlfcmVxdWlyZWQpCj4gIGlmIGxlZy5mb3VuZCgpCj4gIAlsZWdf ZmlsZSA9IGN1c3RvbV90YXJnZXQoJ3RyYWNlcG9pbnRfZm9ybWF0JywKPiAgCQlvdXRwdXQ6ICd0 cmFjZXBvaW50X2Zvcm1hdC5oJywKPiBAQCAtNjIsMTAgKzgxLDE3IEBAIGVsc2UKPiAgCW1lc3Nh Z2UoJ1dBUk5JTkc6IGxlZyBjb21tYW5kIG5vdCBmb3VuZCwgZGlzYWJsaW5nIG92ZXJsYXk7IHRy eSA6IGFwdC1nZXQgaW5zdGFsbCBwZWcnKQo+ICBlbmRpZgo+ICAKPiAtaWYgbGVnLmZvdW5kKCkg YW5kIHhyYW5kci5mb3VuZCgpIGFuZCBjYWlyby5mb3VuZCgpCj4gK2lmIF9idWlsZF9vdmVybGF5 IGFuZCBbJ3g4NicsICd4ODZfNjQnXS5jb250YWlucyhob3N0X21hY2hpbmUuY3B1X2ZhbWlseSgp KSBhbmQgbGliZHJtX2ludGVsLmZvdW5kKCkgYW5kIGxlZy5mb3VuZCgpIGFuZCB4cmFuZHIuZm91 bmQoKSBhbmQgY2Fpcm8uZm91bmQoKSBhbmQgKHdpdGhfeGxpYl9iYWNrZW5kIG9yIHdpdGhfeHZf YmFja2VuZCkKPiAgCWV4ZWN1dGFibGUoJ2ludGVsLWdwdS1vdmVybGF5JywgZ3B1X292ZXJsYXlf c3JjLAo+ICAJCQlpbmNsdWRlX2RpcmVjdG9yaWVzIDogaW5jLAo+ICAJCQljX2FyZ3MgOiBncHVf b3ZlcmxheV9jZmxhZ3MsCj4gIAkJCWRlcGVuZGVuY2llcyA6IGdwdV9vdmVybGF5X2RlcHMsCj4g IAkJCWluc3RhbGwgOiB0cnVlKQo+ICsJYnVpbGRfaW5mbyArPSAnQnVpbGQgb3ZlcmxheTogWWVz Jwo+ICsJYnVpbGRfaW5mbyArPSAnT3ZlcmxheSBiYWNrZW5kczogJyArICcsJy5qb2luKGJhY2tl bmRzX3N0cmluZ3MpCj4gK2Vsc2UKPiArCWlmIF9vdmVybGF5X3JlcXVpcmVkCj4gKwkJZXJyb3Io J0Nhbm5vdCBidWlsZCBvdmVybGF5IGR1ZSB0byBtaXNzaW5nIGRlcGVuZGVuY2llcycpCj4gKwll bmRpZgo+ICsJYnVpbGRfaW5mbyArPSAnQnVpbGQgb3ZlcmxheTogTm8nCj4gIGVuZGlmCj4gZGlm ZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1aWxkIGIvdGVzdHMvbWVzb24uYnVpbGQKPiBpbmRleCBj ZWRiNGZmMS4uZWMzNmJhZmEgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKPiArKysg Yi90ZXN0cy9tZXNvbi5idWlsZAo+IEBAIC0yMzIsMTQgKzIzMiwxNCBAQCBpZiBsaWJkcm1fbm91 dmVhdS5mb3VuZCgpCj4gIAl0ZXN0X2RlcHMgKz0gbGliZHJtX25vdXZlYXUKPiAgZW5kaWYKPiAg Cj4gLWlmIGNoYW1lbGl1bS5mb3VuZCgpCj4gK2lmIF9idWlsZF9jaGFtZWxpdW0gYW5kIGNoYW1l bGl1bS5mb3VuZCgpCj4gIAl0ZXN0X3Byb2dzICs9IFsKPiAgCQkna21zX2NoYW1lbGl1bScsCj4g IAldCj4gIAl0ZXN0X2RlcHMgKz0gY2hhbWVsaXVtCj4gIGVuZGlmCj4gIAo+IC1pZiBhbHNhLmZv dW5kKCkgYW5kIGdzbC5mb3VuZCgpCj4gK2lmIF9idWlsZF9hdWRpbyBhbmQgYWxzYS5mb3VuZCgp IGFuZCBnc2wuZm91bmQoKQo+ICAJdGVzdF9wcm9ncyArPSBbCj4gIAkJJ2F1ZGlvJywKPiAgCV0K PiBAQCAtMjkyLDEyICsyOTIsMTQgQEAgdGVzdF9leGVjdXRhYmxlcyArPSBleGVjdXRhYmxlKCdw ZXJmX3BtdScsICdwZXJmX3BtdS5jJywKPiAgCSAgIGluc3RhbGwgOiB0cnVlKQo+ICB0ZXN0X3By b2dzICs9ICdwZXJmX3BtdScKPiAgCj4gLWV4ZWN1dGFibGUoJ3Rlc3RkaXNwbGF5JywgWyd0ZXN0 ZGlzcGxheS5jJywgJ3Rlc3RkaXNwbGF5X2hvdHBsdWcuYyddLAo+IC0JICAgZGVwZW5kZW5jaWVz IDogdGVzdF9kZXBzLAo+IC0JICAgaW5zdGFsbF9kaXIgOiBsaWJleGVjZGlyLAo+IC0JICAgaW5z dGFsbF9ycGF0aCA6IHJwYXRoZGlyLAo+IC0JICAgaW5zdGFsbCA6IHRydWUpCj4gLXRlc3RfcHJv Z3MgKz0gJ3Rlc3RkaXNwbGF5Jwo+ICtpZiBnbGliLmZvdW5kKCkKPiArCWV4ZWN1dGFibGUoJ3Rl c3RkaXNwbGF5JywgWyd0ZXN0ZGlzcGxheS5jJywgJ3Rlc3RkaXNwbGF5X2hvdHBsdWcuYyddLAo+ ICsJCSAgIGRlcGVuZGVuY2llcyA6IHRlc3RfZGVwcywKPiArCQkgICBpbnN0YWxsX2RpciA6IGxp YmV4ZWNkaXIsCj4gKwkJICAgaW5zdGFsbF9ycGF0aCA6IHJwYXRoZGlyLAo+ICsJCSAgIGluc3Rh bGwgOiB0cnVlKQo+ICsJdGVzdF9wcm9ncyArPSAndGVzdGRpc3BsYXknCj4gK2VuZGlmCj4gIAo+ ICBzdWJkaXIoJ2FtZGdwdScpCj4gIAo+IGRpZmYgLS1naXQgYS90b29scy9tZXNvbi5idWlsZCBi L3Rvb2xzL21lc29uLmJ1aWxkCj4gaW5kZXggOGVkMWNjZjQuLjFjOGY0NGZkIDEwMDY0NAo+IC0t LSBhL3Rvb2xzL21lc29uLmJ1aWxkCj4gKysrIGIvdG9vbHMvbWVzb24uYnVpbGQKPiBAQCAtNzgs NyArNzgsNyBAQCBmb3JlYWNoIHByb2cgOiB0b29sc19wcm9ncwo+ICAJCSAgIGluc3RhbGwgOiB0 cnVlKQo+ICBlbmRmb3JlYWNoCj4gIAo+IC1pZiBsaWJ1ZGV2LmZvdW5kKCkKPiAraWYgbGlidWRl di5mb3VuZCgpIGFuZCBnbGliLmZvdW5kKCkKPiAgCWludGVsX2RwX2NvbXBsaWFuY2Vfc3JjID0g Wwo+ICAJCSdpbnRlbF9kcF9jb21wbGlhbmNlLmMnLAo+ICAJCSdpbnRlbF9kcF9jb21wbGlhbmNl X2hvdHBsdWcuYycKPiAtLSAKPiAyLjE0LjEKPiAKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJl IEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcg bGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK