From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web12.3085.1587634637607113107 for ; Thu, 23 Apr 2020 02:37:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=CtJMDqt4; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: bob.c.feng@intel.com) IronPort-SDR: eNSvfbSMaChwC289Y1hCnkhT47VdHmJ05tH1r7L59nThHRva5TQJov1vR7cqLnHYDikM7HrWYd irlvN4Is7q+g== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2020 02:37:17 -0700 IronPort-SDR: Ct48e0GI5OVx4KzN48uGm1uwlGiDH2JXYO3LehL2cxX4X4QsBS+ZXLKYFJESa8GgOU8D6rGt3+ uubfuN4ho9jA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,306,1583222400"; d="scan'208";a="292224397" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by orsmga008.jf.intel.com with ESMTP; 23 Apr 2020 02:37:17 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX105.amr.corp.intel.com (10.22.225.132) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 23 Apr 2020 02:37:16 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 23 Apr 2020 02:37:16 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 23 Apr 2020 02:37:16 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.177) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 23 Apr 2020 02:37:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Fl5TkE1Z88YoxybB0KQsdFnMsW2PlNiTPcVLBi0CeW9SYowzWKNG3Ck9lRQaA0Cz5QyMEtY4PEPuNzYLrBV7kB+LXjUsPeZkj9wn2aJRjyXCzph5quG2/xXKIox3104XezxlyAOexQPAw/otV0SpGWbAtP+5CO7YFKcg9Nz2tgrk36sY+ZYrgNx0cmcJGSJYD6YVVPO4jAXJpThqk+wlB0aiZJIpfJwIvguydD01fbOGMKYFQiCLtuYPmrJq+7+xb0P5N33TO7pmb11MGHgDSwqumj3axUh7wlN+f2232SDMjMTFVHqC9zpiVL2EQY+e+tMOgzIGd31Xu1HvdzD2Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=db7mGq9vD1xcR3mGNXtQzkAJ4YheVT1pEOqYL4ek31k=; b=WmFQVClyPGjuM2zN4ZrgNnqKspt2aPoDUDqovku5/MVh+6R4e/hTKh3m7qU+kxsAOrttyUKEofsWaZ0/aKqTh0V+vOaMICRjPLolvJrZ/2sPdM8eQElzY892S2l1E+OpTIW1CRX3r83PTwHZmaipnXYG+fgpvKclhvBhm9ZVkDJFq2bUnH1+1VKM7GPASEZfCEFPMmMCOm8J5iNXfKf5tXU9WlbRvnMC+0AnT2Fxa4kZCIIO3oKfJVlkHddj57+bszrg/SawDmon2YhCoRWkigdbLHcVXSaGcH8uFTebScV2oK0P35N3BFX9V67EcWwc6KbduWyqvpY+DWL4iOWTdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=db7mGq9vD1xcR3mGNXtQzkAJ4YheVT1pEOqYL4ek31k=; b=CtJMDqt4iRNy1iUQrHFky8IJg5Hn+F4sz9mQ1jSV7Ms3DTth2JF14VpXNadImiPgbxwen60bce6n7K9vn7tqonjEVoVVR1tefGMz7VMFL7dZg49TAjf7mGlEse0qEZAm7dtf2oSfLqF9ck2iuuqmotMfF0yKJW3LJShLILKPcyY= Received: from BN6PR11MB0068.namprd11.prod.outlook.com (2603:10b6:405:69::17) by BN6PR11MB1908.namprd11.prod.outlook.com (2603:10b6:404:103::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13; Thu, 23 Apr 2020 09:37:11 +0000 Received: from BN6PR11MB0068.namprd11.prod.outlook.com ([fe80::2d53:d47c:1269:d601]) by BN6PR11MB0068.namprd11.prod.outlook.com ([fe80::2d53:d47c:1269:d601%6]) with mapi id 15.20.2937.012; Thu, 23 Apr 2020 09:37:11 +0000 From: "Bob Feng" To: Pierre Gondois , "devel@edk2.groups.io" , "Kinney, Michael D" , Sami Mujawar , "Gao, Liming" CC: nd Subject: Re: [edk2-devel] [PATCH v1 1/1] INF Spec: Add file dependency to [Sources] syntax Thread-Topic: [edk2-devel] [PATCH v1 1/1] INF Spec: Add file dependency to [Sources] syntax Thread-Index: AQHWBqoDIJJuAfxjG0iyd0PQMmHIc6hgwsCAgAM1i7D///aigIAWfEAAgAgG5ACABBy14A== Date: Thu, 23 Apr 2020 09:37:11 +0000 Message-ID: References: <20200330154307.48220-1-pierre.gondois@arm.com> <2a878026944a490e83dc3fbe5726244b@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=bob.c.feng@intel.com; x-originating-ip: [192.102.204.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4099413d-47c1-4279-44b6-08d7e769e651 x-ms-traffictypediagnostic: BN6PR11MB1908: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 03827AF76E x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB0068.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(396003)(346002)(366004)(376002)(136003)(39860400002)(76116006)(6506007)(53546011)(4326008)(55016002)(33656002)(66476007)(7696005)(66946007)(86362001)(26005)(2906002)(66556008)(64756008)(66446008)(110136005)(30864003)(316002)(966005)(52536014)(9686003)(478600001)(71200400001)(6636002)(5660300002)(8936002)(186003)(8676002)(81156014);DIR:OUT;SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: a9KYeADCYmcFhLShZe/HmHLwF45Cm5dLO2jH90uPKo1qJSTEIGPUwpQExLeo7g1izucqvgr0IdPV2fLZcbJJvzNylj+Q8sgSScffnweRgX+jW/BlwnDUgwYpTGQ/Lpdb1T2bfQ8TDuhrOxcSpLbXCnO6p+7Uu8Mi+lx1mAUfbVdGHK5I+5+0sVriUSmVOQeEz5nsKew1Fsabxcm8jkqUx4nFKbGIcg2ruy/OI12ZbrKgppDFG59TLiNOK2aV4Hqx5WaN9ABvRotvQVGqhRrEXl0TCs9sGqzRjxggc3V1PqQjmbiNJh6tbSaQT4/ZNXL4hOenGqixyBt9robTKzdPJsB4pKWruxDDttxPWooAjrCjMsdxzBVYbOcMzL8/gn9pqJxKjXFwlB2jwEuo3QnyLUOuD0wBwP6biZTspWdU3g4mbMQTBipP/iuj+91lDGNQpENodazJy1mtlxAvp9SlC2KwzS3xsi/dUBUtU63GbtVrWDJG2kglo4IjHlEtkIuaRQOe9hlBl+PO/1smsBRegg== x-ms-exchange-antispam-messagedata: 65QGWTRmSaj1advXaNyCr2HwfA7/n7skhvilUWIoBreoDhXPFHXE+ZvXqjaPihsNYvKRXRf2h4/4mW6KB6z9LjH/F4MRMnm/O/uVbVK3cvDLRR3fb1a0eYOXhrbLvEmPSK0t5L7EiRCiybKZb9cr3A== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 4099413d-47c1-4279-44b6-08d7e769e651 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Apr 2020 09:37:11.6383 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: pn3aivTd2+oJBzHt0XCPKtAigduX2SL31WkEH0/N1mVqn3zokb1ntUBOP2Zni6fsDPe83OqsqVDLW9bSN+wrOw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1908 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgUGllcnJlLA0KDQpTb3JyeSBmb3IgdGhlIGxhdGUgcmVzcG9uc2UuIEkgaGF2ZSBubyBnb29k IGlkZWEgdG8gcmVzb2x2ZSB0aGUgY29uY2VybiBhYm91dCB0aGUgSU5GIHN5bnRheCBjaGFuZ2Us IGJ1dCBJIHRoaW5rIHRoZSBBU0wgY29tcGlsYXRpb24gc2hvdWxkIG5vdCBiZSBkb25lIGluIEF1 dG9HZW4gcGhhc2UuDQoNCkkgc3VtbWFyaXplIHRoZSBzb2x1dGlvbnMgdGhhdCB3ZSBoYXZlIGRp c2N1c3NlZC4NCjEuIFB1dCB0aGUgQVNMIGJ1aWxkIHRhcmdldCBiZWZvcmUgdGhlIEMgYnVpbGQg dGFyZ2V0LiANCiAgICBUaGlzIHNvbHV0aW9uIHdvdWxkIG5vdCB3b3JrIHdoZW4gdGhlIG1ha2Ug cHJvZ3JhbSBlbmFibGUgbXVsdGlwbGUtdGhyZWFkcy4NCjIuIFNlcGFyYXRlIHlvdXIgb3JpZ2lu YWwgZHJpdmVyIGludG8gYSBsaWIgYW5kIGEgZHJpdmVyLiBUaGUgbGlicmFyeSBpbmNsdWRlIHRo ZSBhc2wgZmlsZSBhbmQgdGhlIGRyaXZlciBpbmNsdWRlIGMgZmlsZXMuIE1ha2UgdGhlIGRyaXZl ciBkZXBlbmRzIG9uIHRoZSBsaWJyYXJ5LCBzbyB0aGF0IHRoZSBsaWJyYXJ5IGNhbiBiZSBidWls dCBiZWZvcmUgdGhlIGRyaXZlciBhbmQgdGhlIC5oZXggZmlsZSB3aWxsIGJlIGdlbmVyYXRlZCBi ZWZvcmUgYnVpbGQgdGhlIGMgZmlsZS4NCiAgICBUaGlzIHNvbHV0aW9uIGJyZWFrIHRoZSBtb2R1 bGUgZnVuY3Rpb25hbCBpbnRlZ3JpdHkuDQozLiBBZGQgdGhlIHN5bnRheCBpbiBJTkYgZmlsZSB0 byBzdXBwb3J0IHNvdXJjZSBmaWxlIGRlcGVuZGVuY3kgYmV0d2VlbiBzb3VyY2UgZmlsZS4NCiAg ICBUaGlzIHNvbHV0aW9uIHNob3VsZCB3b3JrLiBCdXQgdGhlIGRlcGVuZGVuY3kgZGVzY3JpcHRl ZCBpbiB0aGUgTWFrZWZpbGUgbG9va3Mgbm90IGFjY3VyYXRlIHNpbmNlIHlvdSB3b3VsZCBzZWUg YSBjZmlsZS5vYmogZGVwZW5kcyBvbiBhIGFzbGZpbGUuYW1sLiBUaGUgY2ZpbGUub2JqIHNob3Vs ZCBkZXBlbmQgb24gYXNsZmlsZS5oZXgsIGJ1dCBiYXNldG9vbCBvbmx5IGtub3cgdGhlIG91dHB1 dCBvZiBhIEFTTCBmaWxlIGlzIGEgQU1MIGZpbGUuIEFuZCB0aGlzIHNvbHV0aW9uIGxvb2tzIGNv bXBsaWNhdGVkLg0KNC4gQnVpbGQgQVNMIGluIEF1dG9HZW4gcGhhc2UuDQogICAgQ29tcGlsYXRp b24gYWN0aXZpdGllcyBzaG91bGQgYmVsb25nIHRvIE1ha2UgcGhhc2UuIA0KDQpXZSBtaWdodCBu ZWVkIHRvIGZpZ3VyZSBvdXQgYSBiZXR0ZXIgc29sdXRpb24uDQoNClRoYW5rcywNCkJvYg0KDQot LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogUGllcnJlIEdvbmRvaXMgPFBpZXJyZS5H b25kb2lzQGFybS5jb20+IA0KU2VudDogVHVlc2RheSwgQXByaWwgMjEsIDIwMjAgMjoxNiBBTQ0K VG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb20+OyBGZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBTYW1p IE11amF3YXIgPFNhbWkuTXVqYXdhckBhcm0uY29tPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9A aW50ZWwuY29tPg0KQ2M6IG5kIDxuZEBhcm0uY29tPg0KU3ViamVjdDogUkU6IFtlZGsyLWRldmVs XSBbUEFUQ0ggdjEgMS8xXSBJTkYgU3BlYzogQWRkIGZpbGUgZGVwZW5kZW5jeSB0byBbU291cmNl c10gc3ludGF4DQoNCkhlbGxvIEJvYiwgTWljaGFlbCBhbmQgTGltaW5nLA0KSSBkb24ndCBoYXZl IGEgY2xlYXIgaWRlYSBvbiB3aGljaCBkaXJlY3Rpb24gdG8gZ28gaW4gb3JkZXIgdG8gZW5hYmxl IGJ1aWxkaW5nIEFTTCBmaWxlcyBiZWZvcmUgQyBmaWxlcyBpbiBlZGsyLiBJIHdvdWxkIG5lZWQg YW4gYW5zd2VyIHRvIGFncmVlIG9uIHdoaWNoIGRpcmVjdGlvbiBJIHNob3VsZCBjb250aW51ZSB0 byBpbnZlc3RpZ2F0ZS4gRm9yIHRoZSByZWNvcmQsIHRoZSBtYXRjaGluZyBwYXRjaCBpbiBlZGsy IGlzIGF2YWlsYWJsZSBhdCBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS81 NjY2MiBhbmQNCkJaOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dp P2lkPTI0MjUNCg0KUmVnYXJkcywNClBpZXJyZQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KRnJvbTogUGllcnJlIEdvbmRvaXMNClNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMTUsIDIwMjAg NDo0MSBQTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBtaWNoYWVsLmQua2lubmV5QGludGVs LmNvbTsgRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgU2FtaSBNdWphd2FyIDxT YW1pLk11amF3YXJAYXJtLmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4N CkNjOiBuZCA8bmRAYXJtLmNvbT4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYx IDEvMV0gSU5GIFNwZWM6IEFkZCBmaWxlIGRlcGVuZGVuY3kgdG8gW1NvdXJjZXNdIHN5bnRheA0K DQpIZWxsbyBCb2IsIExpbWluZyBhbmQgTWljaGFlbCwNClRoaXMgaXMganVzdCBhIHJlLXBvc3Qg b2YgbXkgbGFzdCBtZXNzYWdlIG9uIHRoZSBCdWd6aWxsYSB0aWNrZXQgYXZhaWxhYmxlIGF0IGh0 dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY0NiANCg0KSSB3 YW50ZWQgdG8gYmUgc3VyZSB3ZSBhZ3JlZWQgYmVmb3JlIHRyeWluZyB0byBtYWtlIGFuIGltcGxl bWVudGF0aW9uLiBJdCBzZWVtcyB0aGF0IGluIGVkazIgYnVpbGQgc3lzdGVtLCB0aGUgc3RlcHMg ZGVzY3JpYmVkIGJlbG93IGFyZSBmb2xsb3dlZCAoaW4gdGhlIHNhbWUgb3JkZXIpOiANCiAxLiBB dXRvZ2VuLmMvaCBmaWxlcyBhcmUgZ2VuZXJhdGVkLCB1c2luZyBVTkkgZmlsZXMgYW1vbmcgb3Ro ZXIgZmlsZXMuDQogMi4gTWFrZWZpbGVzIGFyZSBnZW5lcmF0ZWQgYnk6DQogICAyLjEuIFByb2Jp bmcgdGhlIGZpbGVzIGluIHRoZSBtb2R1bGUgKGZyb20gdGhlIFtTb3VyY2VzXSBzZWN0aW9uIG9m IHRoZSAiLmluZiIgZmlsZSkuDQogICAyLjIuIEZvciBlYWNoIGZpbGUgcHJvYmVkLCBjb3B5L3Bh c3RpbmcgdGhlIFtDb21tYW5kc10gc2VjdGlvbiBvZiB0aGUgIkNvbmYvYnVpbGRfcnVsZS50eHQi IGZpbGUgcmVsZXZhbnQgZm9yIHRoZSBmaWxlIGV4dGVuc2lvbi4gVGhpcyBhbGxvd3MgdG8gZ2Vu ZXJhdGUgdGhlIGZpbGUgb2YgdGhlIFtPdXRwdXRGaWxlXSBzZWN0aW9uLiBGb3IgYW4gQVNMIGZp bGUsIHRoZSBsaXN0IG9mIGNvbW1hbmRzIGF0IFtBY3BpLVNvdXJjZS1MYW5ndWFnZS1GaWxlXS48 Q29tbWFuZC5HQ0M+IHdpbGwgYmUgY29weS9wYXN0ZWQgKGlmIHNvbWVvbmUgdXNlcyBHQ0MpLg0K DQpUaGUgVU5JIGZpbGVzIGFyZSBwcm9jZXNzZXMgaW4gdGhlIGZpcnN0IHN0ZXAsIHdoZW4gZ2Vu ZXJhdGluZyBBdXRvZ2VuLmMvaCBmaWxlcy4gQXMgdGhlIFtVbmljb2RlLVRleHQtRmlsZV0uPENv bW1hbmQ+IHNlY3Rpb24gaXMgZW1wdHksIG5vIGNvbW1hbmQgbmVlZHMgdG8gYmUgZXhlY3V0ZWQg Zm9yIFVOSSBmaWxlcyBpbiB0aGUgc2Vjb25kIHN0ZXAuIEl0IGlzIHBvc3NpYmxlIGZvciB0aGUg TWFrZWZpbGUgdG8gcmVmZXJlbmNlIHRoZSBBdXRvZ2VuLmggZmlsZSBiZWNhdXNlIGl0IGhhcyBh bHJlYWR5IGJlZW4gY3JlYXRlZC4NCg0KQmFzZWQgb24gaG93IFVOSSBmaWxlcyBhcmUgaGFuZGxl ZCwgd2UgY2FuIHByb2Nlc3MgQVNMIGZpbGVzIGJlZm9yZSB0aGUgTWFrZWZpbGUgZ2VuZXJhdGlv biBzdGVwLiBUaGUgYnVpbGQgc3RlcHMgd291bGQgdGhlbiBiZToNCjEuIEF1dG9nZW4uYy9oIGZp bGVzIGFyZSBnZW5lcmF0ZWQsIHVzaW5nIFVOSSBmaWxlcyBhbW9uZyBvdGhlciBmaWxlcy4NCjIu IEFTTCBmaWxlcyBhcmUgY29tcGlsZWQuDQozLiBNYWtlZmlsZXMgYXJlIGdlbmVyYXRlZCBieToN CiAgMy4xLiBQcm9iaW5nIHRoZSBmaWxlcyBpbiB0aGUgbW9kdWxlIChmcm9tIHRoZSBbU291cmNl c10gc2VjdGlvbiBvZiB0aGUgIi5pbmYiIGZpbGUpLg0KICAzLjIuIEZvciBlYWNoIGZpbGUgcHJv YmVkLCBjb3B5L3Bhc3RpbmcgdGhlIFtDb21tYW5kc10gc2VjdGlvbiBvZiB0aGUgIkNvbmYvYnVp bGRfcnVsZS50eHQiIGZpbGUgcmVsZXZhbnQgZm9yIHRoZSBmaWxlIGV4dGVuc2lvbi4gVGhpcyBh bGxvd3MgdG8gZ2VuZXJhdGUgdGhlIGZpbGUgb2YgdGhlIFtPdXRwdXRGaWxlXSBzZWN0aW9uLiBG b3IgYW4gQVNMIGZpbGUsIHRoZSBsaXN0IG9mIGNvbW1hbmRzIGF0IFtBY3BpLVNvdXJjZS1MYW5n dWFnZS1GaWxlXS48Q29tbWFuZC5HQ0M+IHdpbGwgYmUgY29weS9wYXN0ZWQgKGlmIHNvbWVvbmUg dXNlcyBHQ0MpLg0KDQpIb3dldmVyLCB0aGlzIHdvdWxkIGltcGx5Og0KIC0gTm90IGJ1aWxkaW5n IEFTTCBmaWxlcyBieSBjYWxsaW5nIHRoZSBNYWtlZmlsZS4gSW5kZWVkLCBpZiBBU0wgZmlsZXMg YXJlIGJ1aWx0IGJlZm9yZSB0aGUgTWFrZWZpbGUgZ2VuZXJhdGlvbiwgdGhleSBjYW5ub3QgYmUg YnVpbHQgYnkgdGhlIE1ha2VmaWxlLg0KIC0gSGF2aW5nIGEgaGFyZC1jb2RlZCBidWlsZCBvcmRl ciBmb3IgQVNMIGZpbGVzLiBUaGV5IHdpbGwgYWx3YXlzIGJlIGJ1aWx0IGJlZm9yZSBvdGhlciBm aWxlcyAoZXhjZXB0ZWQgZm9ybSBVTkkgZmlsZXMuIFdlIGNhbiBzdGlsbCBjaG9vc2UgdG8gYnVp bGQgQVNMIGZpbGVzIGJlZm9yZSBvciBhZnRlciBVTkkgZmlsZXMpDQogLSBJbiBhIG1vZHVsZSBo YXZpbmcgQVNMIGZpbGVzLCBhbHdheXMgaW5jbHVkaW5nIHRoZSBIRVggZmlsZXMgZ2VuZXJhdGVk IGJ5IHRoZSBjb21waWxhdGlvbiBvZiBBU0wgZmlsZXMuIEluZGVlZCwgdGhlIGJ1aWxkIGRlcGVu ZGVuY3kgYmV0d2VlbiBDIGFuZCBBU0wgZmlsZXMgc3RpbGwgbmVlZHMgdG8gYmUgcmVzb2x2ZWQu DQoNClBsZWFzZSBsZXQgbWUga25vdyBpZiB5b3UgYXJlIG9rIHdpdGggdGhpcyBzb2x1dGlvbiwN Cg0KUmVnYXJkcywNClBpZXJyZQ0KDQpQLlMuOg0KVGhlIG9wdGlvbnMgdGhhdCB3ZSBoYXZlIGFs cmVhZHkgdHJpZWQgYXJlOg0KIC0gT3B0aW9uIDE6IFdoZW4gbGlzdGluZyB0aGUgYnVpbGQgdGFy Z2V0IGluIHRoZSAiQ09EQV9UQVJHRVQiIHZhcmlhYmxlLCB0aGUgQU1MIGJ1aWxkIHRhcmdldCBh cmUgcHV0IGZpcnN0LiBUaGlzIHdhcyB0aGUgZmlyc3QgaW1wbGVtZW50YXRpb24gYXZhaWxhYmxl IGF0IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzQ5NjU5IC4gVGhlIGlz c3VlIGZvciB0aGlzIHNvbHV0aW9uIGlzIHRoYXQgdGhlcmUgaXMgbm8gZXhwbGljaXQgZGVwZW5k ZW5jeSBiZXR3ZWVuIGEgQyBmaWxlIGFuZCBhbiBBTUwvSEVYIGZpbGUgKHRoZSBDIGZpbGUgbmVl ZHMgdG8gaW5jbHVkZSB0aGUgSEVYIGZpbGUgZ2VuZXJhdGVkIHdoaWxlIGNvbXBpbGluZyBhbiBB U0wgZmlsZSkuIEZvciBhIG11bHRpLXRocmVhZCBidWlsZCwgdGhlIGJ1aWxkIHdpbGwgZmFpbCwg YXMgeW91IHBvaW50ZWQgb3V0IGF0IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNz YWdlLzUwNDc3DQogLSBPcHRpb24gMjogTW9kaWZ5aW5nIElORiBmaWxlcyB0byBkZXNjcmliZSBk ZXBlbmRlbmNpZXMgYmV0d2VlbiBzb3VyY2UgZmlsZXMgb2YgZGlmZmVyZW50IGxhbmd1YWdlcy4g VGhpcyBhbGxvd3MgdG8gaGFuZGxlIG11bHRpLXRocmVhZCBidWlsZHMsIGJ1dCB0aGUgSU5GIHNw ZWNpZmljYXRpb24gbmVlZHMgdG8gYmUgbW9kaWZpZWQuIFBhdGNoIGF2YWlsYWJsZSBhdCBodHRw czovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS81NjY2Mw0KDQoNCi0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5n cm91cHMuaW8+IE9uIEJlaGFsZiBPZiBNaWNoYWVsIEQgS2lubmV5IHZpYSBHcm91cHMuSW8NClNl bnQ6IDAxIEFwcmlsIDIwMjAgMTc6MTkNClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgRmVuZywg Qm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgUGllcnJlIEdvbmRvaXMgPFBpZXJyZS5Hb25k b2lzQGFybS5jb20+OyBTYW1pIE11amF3YXIgPFNhbWkuTXVqYXdhckBhcm0uY29tPjsgR2FvLCBM aW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwu ZC5raW5uZXlAaW50ZWwuY29tPg0KQ2M6IG5kIDxuZEBhcm0uY29tPg0KU3ViamVjdDogUmU6IFtl ZGsyLWRldmVsXSBbUEFUQ0ggdjEgMS8xXSBJTkYgU3BlYzogQWRkIGZpbGUgZGVwZW5kZW5jeSB0 byBbU291cmNlc10gc3ludGF4DQoNCkhpIFBpZXJyZSwNCg0KV2UgZGlzY3Vzc2VkIHRoaXMgaW4g dGhlIGJ1ZyBzY3J1YiB5ZXN0ZXJkYXkuDQoNCldlIHRoaW5rIHRoZXJlIG1heSBiZSBhIHNpbXBs ZXIgd2F5IHRvIGFkZHJlc3MgdGhpcyBpc3N1ZSB3aXRob3V0IGV4dGVuZGluZyB0aGUgSU5GIHN5 bnRheC4NCg0KSXQgaXMgb3VyIHVuZGVyc3RhbmRpbmcgdGhhdCB0aGUgQVNMIGZpbGVzIG5lZWQg dG8gYmUgcHJvY2Vzc2VkIGJlZm9yZSBDIGZpbGVzIHdoZW4gYm90aCBhcmUgcHJlc2VudCBpbiBh biBJTkYuDQoNClRoaXMgaXMgc2ltaWxhciB0byB0aGUgcmVxdWlyZW1lbnQgdGhhdCBVTkkgZmls ZXMgYmUgcHJvY2Vzc2VkIGJlZm9yZSBDIGZpbGVzIHRoYXQgaXMgYWxyZWFkeSBzdXBwb3J0ZWQu DQoNClBsZWFzZSBjb250aW51ZSB0aGUgZGlzY3Vzc2lvbiBpbiBCdWd6aWxsYSB3aXRoIEJvYi4N Cg0KVGhhbmtzLA0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJv bTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYg T2YgQm9iIA0KPiBGZW5nDQo+IFNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMSwgMjAyMCAxOjUzIEFN DQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgcGllcnJlLmdvbmRvaXNAYXJtLmNvbTsgU2Ft aSBNdWphd2FyIA0KPiA8U2FtaS5NdWphd2FyQGFybS5jb20+OyBHYW8sIExpbWluZyA8bGltaW5n Lmdhb0BpbnRlbC5jb20+DQo+IENjOiBuZCA8bmRAYXJtLmNvbT4NCj4gU3ViamVjdDogUmU6IFtl ZGsyLWRldmVsXSBbUEFUQ0ggdjEgMS8xXSBJTkYgU3BlYzogQWRkIGZpbGUgZGVwZW5kZW5jeSAN Cj4gdG8gW1NvdXJjZXNdIHN5bnRheA0KPiANCj4gSGkgUGllcnJlLA0KPiANCj4gSSB3aWxsIHJl dmlldyB0aGUgc3BlYyBhbmQgY29kZSBjaGFuZ2UgaW4gdGhpcyB3ZWVrLg0KPiANCj4gVGhhbmtz LA0KPiBCb2INCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVs QGVkazIuZ3JvdXBzLmlvIFttYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW9dIE9uIEJlaGFsZiBP ZiANCj4gUGllcnJlR29uZG9pcw0KPiBTZW50OiBNb25kYXksIE1hcmNoIDMwLCAyMDIwIDExOjUy IFBNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgU2FtaSBNdWphd2FyIDxTYW1pLk11amF3 YXJAYXJtLmNvbT47IEZlbmcsIA0KPiBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBHYW8s IExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+IENjOiBuZCA8bmRAYXJtLmNvbT4NCj4g U3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjEgMS8xXSBJTkYgU3BlYzogQWRkIGZp bGUgZGVwZW5kZW5jeSANCj4gdG8gW1NvdXJjZXNdIHN5bnRheA0KPiANCj4gSGVsbG8gTGltaW5n IGFuZCBCb2IsDQo+IEkgY291bGRuJ3QgZmluZCB0aGUgbGlzdCBvZiBtYWludGFpbmVycyBmb3Ig dGhlIHNwZWNpZmljYXRpb24gZmlsZXMsIA0KPiBidXQgaXQgc2VlbXMgTGltaW5nIGlzIGEgbWFp bnRhaW5lci4NCj4gSWYgYSBtYWludGFpbmVyIGlzIG1pc3NpbmcsIHBsZWFzZSBmZWVsIGZyZWUg dG8gY2MgaGltLA0KPiANCj4gUmVnYXJkcywNCj4gUGllcnJlDQo+IA0KPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBQaWVycmVHb25kb2lzIDxwaWVycmUuZ29uZG9pc0Bhcm0u Y29tPg0KPiBTZW50OiBNb25kYXksIE1hcmNoIDMwLCAyMDIwIDQ6NDMgUE0NCj4gVG86IGRldmVs QGVkazIuZ3JvdXBzLmlvDQo+IENjOiBQaWVycmUgR29uZG9pcyA8UGllcnJlLkdvbmRvaXNAYXJt LmNvbT47IGxpbWluZy5nYW9AaW50ZWwuY29tOyANCj4gc2FtaS5tdWphd2FyQGFybS5vcmc7IG5k IDxuZEBhcm0uY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjEgMS8xXSBJTkYgU3BlYzogQWRkIGZp bGUgZGVwZW5kZW5jeSB0byBbU291cmNlc10gDQo+IHN5bnRheA0KPiANCj4gRnJvbTogUGllcnJl IEdvbmRvaXMgPFBpZXJyZS5Hb25kb2lzQGFybS5jb20+DQo+IA0KPiBCWjogaHR0cHM6Ly9idWd6 aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDY0DQo+IA0KPiBXaGVuIGJ1aWxk aW5nIGFuIGVkazIgbW9kdWxlLCBhIEMgZmlsZSB3YXMgaW5jbHVkaW5nIGEgLmhleCBmaWxlIA0K PiBnZW5lcmF0ZWQgYnkgdGhlIGNvbXBpbGF0aW9uIG9mIGFuIEFTTCBmaWxlLg0KPiBUbyBkZXNj cmliZSB0aGlzIGRlcGVuZGVuY3kgYmV0d2VlbiBhbiBBU0wgZmlsZSBhbmQgYSBDIGZpbGUsIHRo ZSBlZGsyIA0KPiBwYXRjaCwNCj4gIC0gbmFtZWQgIkJhc2VUb29sczogQnVpbGQgQVNMIGZpbGVz IGJlZm9yZSBDIGZpbGVzIiwNCj4gIC0gZGlzY3Vzc2VkIGF0Og0KPiBodHRwczovL2VkazIuZ3Jv dXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS81MjU1MA0KPiBoYXMgYmVlbiBjcmVhdGVkLg0KPiBUaGlz IHBhdGNoIGFsbG93cyB0byBlc3RhYmxpc2ggYnVpbGQgZGVwZW5kZW5jaWVzIGluIHRoZSBbU291 cmNlc10gDQo+IHNlY3Rpb24sIGJldHdlZW4gZmlsZXMgdGhhdCBhcmUgbm90IG9mIHRoZSBzYW1l IGxhbmd1YWdlLg0KPiBFLmcuOg0KPiBbU291cmNlc10NCj4gICBGaWxlTmFtZTEuWA0KPiAgIEZp bGVOYW1lMi5ZIDogRmlsZU5hbWUxLlgNCj4gICBGaWxlTmFtZTMuWiA6IEZpbGVOYW1lMS5YIEZp bGVOYW1lMi5ZDQo+IA0KPiBIZXJlOg0KPiAgICogRmlsZU5hbWUxLlggd2lsbCBiZSBidWlsdCBw cmlvciB0byBGaWxlTmFtZTIuWS4NCj4gICAqIEZpbGVOYW1lMS5YIGFuZCBGaWxlTmFtZTIuWSB3 aWxsIGJlIGJ1aWx0IHByaW9yIHRvDQo+ICAgICBGaWxlTmFtZTMuWi4NCj4gDQo+IFRoaXMgcGF0 Y2ggdXBkYXRlcyB0aGUgSW5mIHNwZWNpZmljYXRpb24gYWNjb3JkaW5nbHkuDQo+IA0KPiBTaWdu ZWQtb2ZmLWJ5OiBQaWVycmUgR29uZG9pcyA8cGllcnJlLmdvbmRvaXNAYXJtLmNvbT4NCj4gLS0t DQo+IA0KPiBUaGUgY2hhbmdlcyBjYW4gYmUgc2VlbiBhdA0KPiBodHRwczovL2dpdGh1Yi5jb20v UGllcnJlQVJNL2VkazItDQo+IEluZlNwZWNpZmljYXRpb24vdHJlZS9CdWd6aWxsYV8yNDY0X0Vu YWJsZV9CdWlsZF9EZXBlbmRlbg0KPiBjaWVzX3YxDQo+IA0KPiBOb3RlczoNCj4gICAgIHYxOg0K PiAgICAgIC0gRW5hYmxlIGJ1aWxkIGRlcGVuZGVuY2llcyBpbiB0aGUgW1NvdXJjZXNdIHNlY3Rp b24NCj4gDQo+ICAyX2luZl9vdmVydmlldy8yNV9bc291cmNlc11fc2VjdGlvbi5tZA0KPiB8IDEy ICsrKysrKysrKysrKw0KPiAgM19lZGtfaWlfaW5mX2ZpbGVfZm9ybWF0LzMyX2NvbXBvbmVudF9p bmZfZGVmaW5pdGlvbi5tZA0KPiB8ICAzICsrKw0KPiAgM19lZGtfaWlfaW5mX2ZpbGVfZm9ybWF0 LzM5X1tzb3VyY2VzXV9zZWN0aW9ucy5tZA0KPiB8ICA2ICsrKystLQ0KPiAgUkVBRE1FLm1kDQo+ IHwgIDEgKw0KPiAgNCBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhLzJfaW5mX292ZXJ2aWV3LzI1X1tzb3VyY2VzXV9zZWN0 aW9uLm1kDQo+IGIvMl9pbmZfb3ZlcnZpZXcvMjVfW3NvdXJjZXNdX3NlY3Rpb24ubWQNCj4gaW5k ZXgNCj4gNTQ3NTdlNjFlMzcyNjhlZWQyOTNhNTI4OGU2MDdjZjJjN2NmYWNmNi4uNWI5ZjBhODM5 NWVmMmJlDQo+IDQ0OTdkOTkxOTdkYzY5NTYyNWQ4NDE4MzAgMTAwNjQ0DQo+IC0tLSBhLzJfaW5m X292ZXJ2aWV3LzI1X1tzb3VyY2VzXV9zZWN0aW9uLm1kDQo+ICsrKyBiLzJfaW5mX292ZXJ2aWV3 LzI1X1tzb3VyY2VzXV9zZWN0aW9uLm1kDQo+IEBAIC0yLDYgKzIsNyBAQA0KPiAgICAyLjUgW1Nv dXJjZXNdIFNlY3Rpb24NCj4gDQo+ICAgIENvcHlyaWdodCAoYykgMjAwNy0yMDE5LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyANCj4gcmVzZXJ2ZWQuPEJSPg0KPiArICBDb3B5cmlnaHQg KGMpIDIwMjAsIEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzDQo+IHJlc2VydmVkLjxCUj4NCj4gDQo+ ICAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIChvcmlnaW5hbCBkb2N1bWVudA0K PiBmb3JtKSBhbmQgJ2NvbXBpbGVkJw0KPiAgICBmb3JtcyAoY29udmVydGVkIHRvIFBERiwgZXB1 YiwgSFRNTCBhbmQgb3RoZXIgZm9ybWF0cykgd2l0aCBvciANCj4gd2l0aG91dCBAQCAtOTQsNiAr OTUsMTcgQEAgVGhlIGZvbGxvd2luZyBpcyBhbiBleGFtcGxlIGZvciBzb3VyY2VzIA0KPiBzZWN0 aW9ucy4NCj4gDQo+ICBgYGANCj4gDQo+ICtUaGUgZm9sbG93aW5nIGV4YW1wbGUgZGVwaWN0cyB0 aGUgc3ludGF4IHRvIGVzdGFibGlzaA0KPiBkZXBlbmRlbmNpZXMNCj4gK2JldHdlZW4gZmlsZXMg b2YgZGlmZmVyZW50IHNvdXJjZSB0eXBlcy4gQXMgc2hvd24gaW4gdGhlDQo+IGV4YW1wbGUgYmVs b3csDQo+ICtEc2R0LmFzbCB3aWxsIGJlIGNvbXBpbGVkIGJlZm9yZSBEYWR0SGFuZGxlci5jOg0K PiArDQo+ICtgYGBpbmkNCj4gK1tTb3VyY2VzLmNvbW1vbl0NCj4gKyAgRHNkdEhhbmRsZXIuYyA6 IERzZHQuYXNsDQo+ICsgIERzZHRIYW5kbGVyLmgNCj4gKyAgRHNkdC5hc2wNCj4gK2BgYA0KPiAr DQo+ICBBbGwgVW5pY29kZSBmaWxlcyBtdXN0IGJlIGxpc3RlZCBpbiB0aGUgc291cmNlIHNlY3Rp b24uDQo+IElmIGEgVW5pY29kZSBmaWxlLCAgYEEudW5pYCwgaGFzIHRoZSBzdGF0ZW1lbnQ6IGAj aW5jbHVkZSBCLnVuaWAsIGFuZCANCj4gYEIudW5pYCBoYXMgYSBzdGF0ZW1lbnQ6DQo+ICBgI2lu Y2x1ZGUgQy51bmlgLCBib3RoIGBCLnVuaWAgYW5kIGBDLnVuaWAgZmlsZXMgbXVzdCBiZSBsaXN0 ZWQgaW4gDQo+IHRoZSBJTkYgZGlmZiAtLWdpdCANCj4gYS8zX2Vka19paV9pbmZfZmlsZV9mb3Jt YXQvMzJfY29tcG9uZW50X2luZl9kZWZpbml0aW9uLm1kDQo+IGIvM19lZGtfaWlfaW5mX2ZpbGVf Zm9ybWF0LzMyX2NvbXBvbmVudF9pbmZfZGVmaW5pdGlvbi5tZA0KPiBpbmRleA0KPiAxNjQ3NzFj YjRjZmZmNmU4MWZiZjc2MmE2N2ZmNzQxYzE5MGNlY2RlLi5kNzc2NzE0YzI0YzBiYWYNCj4gMjM0 OGY1M2RjMjU3NmM5ZmViNmYzY2I1ZSAxMDA2NDQNCj4gLS0tDQo+IGEvM19lZGtfaWlfaW5mX2Zp bGVfZm9ybWF0LzMyX2NvbXBvbmVudF9pbmZfZGVmaW5pdGlvbi5tZA0KPiArKysNCj4gYi8zX2Vk a19paV9pbmZfZmlsZV9mb3JtYXQvMzJfY29tcG9uZW50X2luZl9kZWZpbml0aW9uLm1kDQo+IEBA IC0yLDYgKzIsNyBAQA0KPiAgICAzLjIgQ29tcG9uZW50IElORiBEZWZpbml0aW9uDQo+IA0KPiAg ICBDb3B5cmlnaHQgKGMpIDIwMDctMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg DQo+IHJlc2VydmVkLjxCUj4NCj4gKyAgQ29weXJpZ2h0IChjKSAyMDIwLCBBUk0gTGltaXRlZC4g QWxsIHJpZ2h0cw0KPiByZXNlcnZlZC48QlI+DQo+IA0KPiAgICBSZWRpc3RyaWJ1dGlvbiBhbmQg dXNlIGluIHNvdXJjZSAob3JpZ2luYWwgZG9jdW1lbnQNCj4gZm9ybSkgYW5kICdjb21waWxlZCcN Cj4gICAgZm9ybXMgKGNvbnZlcnRlZCB0byBQREYsIGVwdWIsIEhUTUwgYW5kIG90aGVyIGZvcm1h dHMpIHdpdGggb3IgDQo+IHdpdGhvdXQgQEAgLTEzMyw2ICsxMzQsOCBAQCBUaGUgZm9sbG93aW5n IGFyZSBjb21tb24gZGVmaW5pdGlvbnMgdXNlZCANCj4gYnkgbXVsdGlwbGUgc2VjdGlvbiB0eXBl cy4NCj4gIDxFcT4gICAgICAgICAgICAgICAgIDo6PSA8VFM+ICI9IiA8VFM+DQo+ICA8RmllbGRT ZXBhcmF0b3I+ICAgICA6Oj0gInwiDQo+ICA8RlM+ICAgICAgICAgICAgICAgICA6Oj0gPFRTPiA8 RmllbGRTZXBhcmF0b3I+IDxUUz4NCj4gKzxTcmNEZXBTZXBlcmF0b3I+ICAgIDo6PSAiOiINCj4g KzxEZXBTPiAgICAgICAgICAgICAgIDo6PSA8VFM+IDxTcmNEZXBTZXBlcmF0b3I+IDxUUz4NCj4g IDxXaWxkY2FyZD4gICAgICAgICAgIDo6PSAiKiINCj4gIDxDb21tYVNwYWNlPiAgICAgICAgIDo6 PSAiLCIgPFNwYWNlPioNCj4gIDxDcz4gICAgICAgICAgICAgICAgIDo6PSAiLCIgPFNwYWNlPioN Cj4gZGlmZiAtLWdpdA0KPiBhLzNfZWRrX2lpX2luZl9maWxlX2Zvcm1hdC8zOV9bc291cmNlc11f c2VjdGlvbnMubWQNCj4gYi8zX2Vka19paV9pbmZfZmlsZV9mb3JtYXQvMzlfW3NvdXJjZXNdX3Nl Y3Rpb25zLm1kDQo+IGluZGV4DQo+IDgxMDk5NWRmMjZiYTQwOWNhMmNmM2ViZTYyMzhhYTVkNTVj ZjgxZjEuLmFjOTY2NDI1MTAxZmQ0NA0KPiBhNTdiMDlkMzZmOTVhMGY3MzJlYWIxYzU5IDEwMDY0 NA0KPiAtLS0gYS8zX2Vka19paV9pbmZfZmlsZV9mb3JtYXQvMzlfW3NvdXJjZXNdX3NlY3Rpb25z Lm1kDQo+ICsrKyBiLzNfZWRrX2lpX2luZl9maWxlX2Zvcm1hdC8zOV9bc291cmNlc11fc2VjdGlv bnMubWQNCj4gQEAgLTIsNiArMiw3IEBADQo+ICAgIDMuOSBbU291cmNlc10gU2VjdGlvbnMNCj4g DQo+ICAgIENvcHlyaWdodCAoYykgMjAwNy0yMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyANCj4gcmVzZXJ2ZWQuPEJSPg0KPiArICBDb3B5cmlnaHQgKGMpIDIwMjAsIEFSTSBMaW1p dGVkLiBBbGwgcmlnaHRzDQo+IHJlc2VydmVkLjxCUj4NCj4gDQo+ICAgIFJlZGlzdHJpYnV0aW9u IGFuZCB1c2UgaW4gc291cmNlIChvcmlnaW5hbCBkb2N1bWVudA0KPiBmb3JtKSBhbmQgJ2NvbXBp bGVkJw0KPiAgICBmb3JtcyAoY29udmVydGVkIHRvIFBERiwgZXB1YiwgSFRNTCBhbmQgb3RoZXIg Zm9ybWF0cykgd2l0aCBvciANCj4gd2l0aG91dCBAQCAtNzQsNyArNzUsOCBAQCBUaGlzIHNlY3Rp b24gaXMgbm90IHZhbGlkIGZvciBhIGdlbmVyYXRlZCANCj4gIkFzIEJ1aWx0IiBiaW5hcnkgSU5G IGZpbGUuDQo+ICA8T3B0aW9ucz4gICAgICAgICAgICA6Oj0gPEZTPiBbPEZhbWlseT5dIFs8b3B0 MT5dDQo+ICA8b3B0MT4gICAgICAgICAgICAgICA6Oj0gPEZTPiBbPFRhZ05hbWU+XSBbPG9wdDI+ XQ0KPiAgPG9wdDI+ICAgICAgICAgICAgICAgOjo9IDxGUz4gWzxUb29sQ29kZT5dIFs8b3B0Mz5d DQo+IC08b3B0Mz4gICAgICAgICAgICAgICA6Oj0gPEZTPiBbPEZlYXR1cmVGbGFnRXhwcmVzcz5d DQo+ICs8b3B0Mz4gICAgICAgICAgICAgICA6Oj0gPEZTPiBbPEZlYXR1cmVGbGFnRXhwcmVzcz5d DQo+IFs8b3B0ND5dDQo+ICs8b3B0ND4gICAgICAgICAgICAgICA6Oj0gPERlcFM+IDxGaWxlTmFt ZURlcGVuZGVuY3k+Kw0KPiAgPEZhbWlseT4gICAgICAgICAgICAgOjo9IHsiTVNGVCJ9IHsiR0ND In0geyJJTlRFTCJ9DQo+IHs8V2lsZGNhcmQ+fQ0KPiAgPFRhZ05hbWU+ICAgICAgICAgICAgOjo9 IHs8VG9vbFdvcmQ+fSB7IioifQ0KPiAgPFRvb2xDb2RlPiAgICAgICAgICAgOjo9IF9Db21tYW5k Q29kZV8NCj4gQEAgLTgzLDcgKzg1LDcgQEAgVGhpcyBzZWN0aW9uIGlzIG5vdCB2YWxpZCBmb3Ig YSBnZW5lcmF0ZWQgIkFzIEJ1aWx0IiANCj4gYmluYXJ5IElORiBmaWxlLg0KPiANCj4gICMjIyMg UGFyYW1ldGVycw0KPiANCj4gLSoqX0ZpbGVuYW1lXyoqDQo+ICsqKl9GaWxlbmFtZV8sIF9GaWxl TmFtZURlcGVuZGVuY3lfKioNCj4gDQo+ICBQYXRocyBsaXN0ZWQgaW4gdGhlIGZpbGVuYW1lIGVs ZW1lbnRzIG9mIHRoZSBgW1NvdXJjZXNdYCBzZWN0aW9uIG11c3QgDQo+IGJlICByZWxhdGl2ZSB0 byB0aGUgZGlyZWN0b3J5IHRoZSBJTkYgZmlsZSByZXNpZGVzIGluLiBVc2Ugb2YgIi4uIiwgDQo+ ICIuIiBhbmQgIi4uLyINCj4gZGlmZiAtLWdpdCBhL1JFQURNRS5tZCBiL1JFQURNRS5tZA0KPiBp bmRleA0KPiA2MGZiYTE5ZmQ2N2ZkOGQzZGQzMzE5OWRlMjNmOWJmZTIwYWVhN2M5Li40Zjc3MWZj MGY2ZTRmZjUNCj4gMTZiZTk1YjE4NzlkNTgzMjlhYjNiYmVjYyAxMDA2NDQNCj4gLS0tIGEvUkVB RE1FLm1kDQo+ICsrKyBiL1JFQURNRS5tZA0KPiBAQCAtMjAzLDMgKzIwMyw0IEBAIENvcHlyaWdo dCAoYykgMjAwNy0yMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIA0KPiByaWdodHMgcmVzZXJ2 ZWQuDQo+ICB8ICAgICAgICAgICAgfA0KPiBbIzExNjJdKGh0dHBzOi8vYnVnemlsbGEudGlhbm9j b3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTENCj4gNjIpIENvcnJlY3QgdGhlIGl0ZW0gaW4gVGFi bGUgMSB0byBhbGlnbiB3aXRoIDMuNCBzZWN0aW9uDQo+IHwgICAgICAgICAgICAgICB8DQo+ICB8 IDEuMjggICAgICAgfA0KPiBbIzE0NTNdKGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9z aG93X2J1Zy5jZ2k/aWQ9MTQNCj4gNTMpIFVwZGF0ZSBJTkYgc3BlYyB0byByZW1vdmUgRURLIHJl bGF0ZWQgY29udGVudHMNCj4gfCBNYXIgMjAxOSAgICAgIHwNCj4gIHwgMS4yOSAgICAgICB8DQo+ IFsjMTk1Ml0oaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0x OQ0KPiA1MikgQWRkIG5ldyBNT0RVTEVfVFlQRSBIT1NUX0FQUExJQ0FUSU9ODQo+IHwgSnVseSAy MDE5ICAgICAgfA0KPiArfCAgICAgICAgICAgIHwNCj4gWyMyNjQ2XShodHRwczovL2J1Z3ppbGxh LnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTI2DQo+IDQ2KSBBZGQgZmlsZSBkZXBlbmRl bmN5IHRvIFtTb3VyY2VzXSBzeW50YXgNCj4gfCAgICAgICAgICAgICAgICB8DQo+IC0tDQo+ICdH dWlkKENFMTY1NjY5LTNFRjMtNDkzRi1CODVELTYxOTBFRTVCOTc1OSknDQo+IA0KPiANCj4gDQo+ IA0KPiANCj4gDQoNCg0KDQoNCg==